{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "novel-former",
   "metadata": {},
   "outputs": [],
   "source": [
    "#全部行都能输出\n",
    "from IPython.core.interactiveshell import InteractiveShell\n",
    "InteractiveShell.ast_node_interactivity = \"all\"\n",
    "\n",
    "import matplotlib as mpl\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "\n",
    "# 解决坐标轴刻度负号乱码\n",
    "plt.rcParams['axes.unicode_minus'] = False\n",
    "\n",
    "# 解决中文乱码问题\n",
    "plt.rcParams['font.family'] = ['KaiTi']"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "automotive-treasure",
   "metadata": {},
   "source": [
    "## 导入数据data_00"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "dynamic-credit",
   "metadata": {},
   "outputs": [],
   "source": [
    "data_00 = pd.read_csv('data/ma_resp_data_temp.csv')\n",
    "feature_dict = pd.read_excel('data/保险案例数据字典.xlsx')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "absolute-description",
   "metadata": {},
   "source": [
    "## 探索数据data_01"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "grave-dispatch",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>KBM_INDV_ID</th>\n",
       "      <th>resp_flag</th>\n",
       "      <th>GEND</th>\n",
       "      <th>CA00</th>\n",
       "      <th>CA03</th>\n",
       "      <th>CA06</th>\n",
       "      <th>CA11</th>\n",
       "      <th>CA16</th>\n",
       "      <th>AART</th>\n",
       "      <th>ADBT</th>\n",
       "      <th>...</th>\n",
       "      <th>c210pmr</th>\n",
       "      <th>c210poo</th>\n",
       "      <th>c210psu</th>\n",
       "      <th>c210pwc</th>\n",
       "      <th>c210wht</th>\n",
       "      <th>ilor</th>\n",
       "      <th>meda</th>\n",
       "      <th>pdpe</th>\n",
       "      <th>tins</th>\n",
       "      <th>zhip19</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>281478</td>\n",
       "      <td>0</td>\n",
       "      <td>M</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>...</td>\n",
       "      <td>52</td>\n",
       "      <td>65</td>\n",
       "      <td>71.0</td>\n",
       "      <td>22</td>\n",
       "      <td>79.0</td>\n",
       "      <td>15.0</td>\n",
       "      <td>64.0</td>\n",
       "      <td>42</td>\n",
       "      <td>8</td>\n",
       "      <td>8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>290485</td>\n",
       "      <td>0</td>\n",
       "      <td>M</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>...</td>\n",
       "      <td>44</td>\n",
       "      <td>81</td>\n",
       "      <td>99.0</td>\n",
       "      <td>37</td>\n",
       "      <td>65.0</td>\n",
       "      <td>17.0</td>\n",
       "      <td>61.0</td>\n",
       "      <td>46</td>\n",
       "      <td>6</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>299949</td>\n",
       "      <td>0</td>\n",
       "      <td>F</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>...</td>\n",
       "      <td>38</td>\n",
       "      <td>44</td>\n",
       "      <td>62.0</td>\n",
       "      <td>44</td>\n",
       "      <td>47.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>61.0</td>\n",
       "      <td>46</td>\n",
       "      <td>7</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>314635</td>\n",
       "      <td>0</td>\n",
       "      <td>F</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>...</td>\n",
       "      <td>45</td>\n",
       "      <td>71</td>\n",
       "      <td>99.0</td>\n",
       "      <td>39</td>\n",
       "      <td>71.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>62.0</td>\n",
       "      <td>37</td>\n",
       "      <td>8</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>363702</td>\n",
       "      <td>0</td>\n",
       "      <td>F</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>...</td>\n",
       "      <td>32</td>\n",
       "      <td>13</td>\n",
       "      <td>36.0</td>\n",
       "      <td>15</td>\n",
       "      <td>65.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>37</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 76 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   KBM_INDV_ID  resp_flag GEND  CA00  CA03  CA06  CA11  CA16 AART ADBT  ...  \\\n",
       "0       281478          0    M     4     0     5     1     1    N    N  ...   \n",
       "1       290485          0    M     0     0     0     0     0    N    N  ...   \n",
       "2       299949          0    F     0     0     0     0     0    N    N  ...   \n",
       "3       314635          0    F     0     4     0     0     0    N    N  ...   \n",
       "4       363702          0    F     0     0     0     0     0    N    N  ...   \n",
       "\n",
       "  c210pmr c210poo c210psu c210pwc c210wht  ilor  meda pdpe tins zhip19  \n",
       "0      52      65    71.0      22    79.0  15.0  64.0   42    8      8  \n",
       "1      44      81    99.0      37    65.0  17.0  61.0   46    6      3  \n",
       "2      38      44    62.0      44    47.0  20.0  61.0   46    7      3  \n",
       "3      45      71    99.0      39    71.0   4.0  62.0   37    8      9  \n",
       "4      32      13    36.0      15    65.0   9.0   NaN   37    4      3  \n",
       "\n",
       "[5 rows x 76 columns]"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_01 = data_00.copy()\n",
    "data_01.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "proof-cancellation",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>变量名</th>\n",
       "      <th>type</th>\n",
       "      <th>变量说明</th>\n",
       "      <th>备注</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>KBM_INDV_ID</td>\n",
       "      <td>Num</td>\n",
       "      <td>Individual ID</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>resp_flag</td>\n",
       "      <td>Num</td>\n",
       "      <td>是否response</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>age</td>\n",
       "      <td>Num</td>\n",
       "      <td>年龄</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>GEND</td>\n",
       "      <td>Char</td>\n",
       "      <td>性别</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>c210mys</td>\n",
       "      <td>Num</td>\n",
       "      <td>学历</td>\n",
       "      <td>0-unknown; 1-初中；2-高中不到；3-高中毕业；4-大学未毕业；\\n5-大专；6...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>POC19</td>\n",
       "      <td>Char</td>\n",
       "      <td>是否有小孩</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>CA00</td>\n",
       "      <td>Char</td>\n",
       "      <td>小孩是否在0-2岁之间</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>CA03</td>\n",
       "      <td>Char</td>\n",
       "      <td>小孩是否在3-5岁之间</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>CA06</td>\n",
       "      <td>Char</td>\n",
       "      <td>小孩是否在6-10岁之间</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>CA11</td>\n",
       "      <td>Char</td>\n",
       "      <td>小孩是否在11-15岁之间</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>CA16</td>\n",
       "      <td>Char</td>\n",
       "      <td>小孩是否在16-18岁之间</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>NOC19</td>\n",
       "      <td>Num</td>\n",
       "      <td>家庭小孩个数</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>NAH19</td>\n",
       "      <td>Num</td>\n",
       "      <td>家庭成年人个数</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>NPH19</td>\n",
       "      <td>Num</td>\n",
       "      <td>家庭成员人数量</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>U18</td>\n",
       "      <td>Char</td>\n",
       "      <td>是否有家庭成员小于18岁</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>N1819</td>\n",
       "      <td>Char</td>\n",
       "      <td>是否有家庭成员在18-19岁之间</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>N2029</td>\n",
       "      <td>Char</td>\n",
       "      <td>是否有家庭成员在20-29岁之间</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>N3039</td>\n",
       "      <td>Char</td>\n",
       "      <td>是否有家庭成员在30-39岁之间</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>N4049</td>\n",
       "      <td>Char</td>\n",
       "      <td>是否有家庭成员在40-49岁之间</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>N5059</td>\n",
       "      <td>Char</td>\n",
       "      <td>是否有家庭成员在50-59岁之间</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>N6064</td>\n",
       "      <td>Char</td>\n",
       "      <td>是否有家庭成员在60-64岁之间</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>N65P</td>\n",
       "      <td>Char</td>\n",
       "      <td>是否有家庭成员在65岁以上</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>POEP</td>\n",
       "      <td>Char</td>\n",
       "      <td>家里是否有老人</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>AART</td>\n",
       "      <td>Char</td>\n",
       "      <td>是否有关节炎</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>ADBT</td>\n",
       "      <td>Char</td>\n",
       "      <td>是否有糖尿病</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>ADEP</td>\n",
       "      <td>Char</td>\n",
       "      <td>是否有抑郁症</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>AHBP</td>\n",
       "      <td>Char</td>\n",
       "      <td>是否有高血压</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>AHCH</td>\n",
       "      <td>Char</td>\n",
       "      <td>胆固醇含量是否过高</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>ARES</td>\n",
       "      <td>Char</td>\n",
       "      <td>是否有呼吸疾病</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>AHRT</td>\n",
       "      <td>Char</td>\n",
       "      <td>是否有心脏病</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>46</th>\n",
       "      <td>SGLL</td>\n",
       "      <td>Char</td>\n",
       "      <td>是否经常有奢侈消费</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>47</th>\n",
       "      <td>SGOE</td>\n",
       "      <td>Char</td>\n",
       "      <td>是否经常户外活动</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>48</th>\n",
       "      <td>SGSE</td>\n",
       "      <td>Char</td>\n",
       "      <td>是否喜欢运动</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>49</th>\n",
       "      <td>SGTC</td>\n",
       "      <td>Char</td>\n",
       "      <td>是否热爱科技</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50</th>\n",
       "      <td>LIVEWELL</td>\n",
       "      <td>Char</td>\n",
       "      <td>幸福指数</td>\n",
       "      <td>值越大，说明越幸福</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>51</th>\n",
       "      <td>HOMSTAT</td>\n",
       "      <td>Char</td>\n",
       "      <td>是否有房子</td>\n",
       "      <td>Y:有房子；P:可能有房子；R: 租房； T,U:不确定</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>52</th>\n",
       "      <td>HINSUB</td>\n",
       "      <td>Char</td>\n",
       "      <td>是否有医保补贴</td>\n",
       "      <td>A-C, 补贴依次增加</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>53</th>\n",
       "      <td>c210cip</td>\n",
       "      <td>Num</td>\n",
       "      <td>收入所处排名</td>\n",
       "      <td>值越大，说明收入越高</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>54</th>\n",
       "      <td>c210ebi</td>\n",
       "      <td>Num</td>\n",
       "      <td>普查家庭有效购买收入</td>\n",
       "      <td>值越大，说明有效购买收入越高</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>55</th>\n",
       "      <td>c210hmi</td>\n",
       "      <td>Num</td>\n",
       "      <td>家庭收入</td>\n",
       "      <td>值越大，说明家庭收入越高</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>56</th>\n",
       "      <td>c210hva</td>\n",
       "      <td>Num</td>\n",
       "      <td>家庭房屋价值</td>\n",
       "      <td>值越大，说明房屋价值越高</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>57</th>\n",
       "      <td>c210kses</td>\n",
       "      <td>Num</td>\n",
       "      <td>社会经济地位评分</td>\n",
       "      <td>值越大，说明经济地位越高</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>58</th>\n",
       "      <td>c210mah</td>\n",
       "      <td>Num</td>\n",
       "      <td>家庭自成立日起的时间</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>59</th>\n",
       "      <td>tins</td>\n",
       "      <td>Num</td>\n",
       "      <td>该客户被多少个名单source 包含</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>60</th>\n",
       "      <td>STATE_NAME</td>\n",
       "      <td>Char</td>\n",
       "      <td>所处的省份</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>61</th>\n",
       "      <td>c210apvt</td>\n",
       "      <td>Num</td>\n",
       "      <td>贫穷以上人的比例</td>\n",
       "      <td>值越大，说明比例越高</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>62</th>\n",
       "      <td>c210b200</td>\n",
       "      <td>Num</td>\n",
       "      <td>所处地区有多少居住小区在2000年及以后建立</td>\n",
       "      <td>值越大，说明比例越高</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>63</th>\n",
       "      <td>c210blu</td>\n",
       "      <td>Num</td>\n",
       "      <td>所处地区蓝领所占百分比</td>\n",
       "      <td>值越大，说明比例越高</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>64</th>\n",
       "      <td>c210bpvt</td>\n",
       "      <td>Num</td>\n",
       "      <td>贫穷以下人的比例</td>\n",
       "      <td>值越大，说明比例越高</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>65</th>\n",
       "      <td>c210mob</td>\n",
       "      <td>Num</td>\n",
       "      <td>所处地区mobile home的比例</td>\n",
       "      <td>值越大，说明比例越高</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>66</th>\n",
       "      <td>c210pdv</td>\n",
       "      <td>Num</td>\n",
       "      <td>离婚或者分居人群所占比例</td>\n",
       "      <td>值越大，说明比例越高</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>67</th>\n",
       "      <td>c210pmr</td>\n",
       "      <td>Num</td>\n",
       "      <td>已婚人群所占比例</td>\n",
       "      <td>值越大，说明比例越高</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>68</th>\n",
       "      <td>c210poo</td>\n",
       "      <td>Num</td>\n",
       "      <td>有房子人所占比例</td>\n",
       "      <td>值越大，说明比例越高</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>69</th>\n",
       "      <td>c210psu</td>\n",
       "      <td>Num</td>\n",
       "      <td>独宅住户所占比例</td>\n",
       "      <td>值越大，说明比例越高</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>70</th>\n",
       "      <td>c210pwc</td>\n",
       "      <td>Num</td>\n",
       "      <td>有小孩的家庭所占比例</td>\n",
       "      <td>值越大，说明比例越高</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>71</th>\n",
       "      <td>c210wht</td>\n",
       "      <td>Num</td>\n",
       "      <td>白领所占比例</td>\n",
       "      <td>值越大，说明比例越高</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>72</th>\n",
       "      <td>ilor</td>\n",
       "      <td>Num</td>\n",
       "      <td>所处地区居住年限</td>\n",
       "      <td>值越大，说明居住年限越长</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>73</th>\n",
       "      <td>KBM_INDV_ID</td>\n",
       "      <td>Num</td>\n",
       "      <td>Individual ID</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>74</th>\n",
       "      <td>pdpe</td>\n",
       "      <td>Num</td>\n",
       "      <td>所在地区处方药计划覆盖的比例</td>\n",
       "      <td>值越大，说明覆盖比例越高</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75</th>\n",
       "      <td>zhip19</td>\n",
       "      <td>Num</td>\n",
       "      <td>zip level的家庭收入排名</td>\n",
       "      <td>值越大，说明收入越高</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>76 rows × 4 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "            变量名  type                    变量说明  \\\n",
       "0   KBM_INDV_ID   Num           Individual ID   \n",
       "1     resp_flag   Num              是否response   \n",
       "2           age   Num                      年龄   \n",
       "3          GEND  Char                      性别   \n",
       "4       c210mys   Num                      学历   \n",
       "5         POC19  Char                   是否有小孩   \n",
       "6          CA00  Char             小孩是否在0-2岁之间   \n",
       "7          CA03  Char             小孩是否在3-5岁之间   \n",
       "8          CA06  Char            小孩是否在6-10岁之间   \n",
       "9          CA11  Char           小孩是否在11-15岁之间   \n",
       "10         CA16  Char           小孩是否在16-18岁之间   \n",
       "11        NOC19   Num                  家庭小孩个数   \n",
       "12        NAH19   Num                 家庭成年人个数   \n",
       "13        NPH19   Num                 家庭成员人数量   \n",
       "14          U18  Char            是否有家庭成员小于18岁   \n",
       "15        N1819  Char        是否有家庭成员在18-19岁之间   \n",
       "16        N2029  Char        是否有家庭成员在20-29岁之间   \n",
       "17        N3039  Char        是否有家庭成员在30-39岁之间   \n",
       "18        N4049  Char        是否有家庭成员在40-49岁之间   \n",
       "19        N5059  Char        是否有家庭成员在50-59岁之间   \n",
       "20        N6064  Char        是否有家庭成员在60-64岁之间   \n",
       "21         N65P  Char           是否有家庭成员在65岁以上   \n",
       "22         POEP  Char                 家里是否有老人   \n",
       "23         AART  Char                  是否有关节炎   \n",
       "24         ADBT  Char                  是否有糖尿病   \n",
       "25         ADEP  Char                  是否有抑郁症   \n",
       "26         AHBP  Char                  是否有高血压   \n",
       "27         AHCH  Char               胆固醇含量是否过高   \n",
       "28         ARES  Char                 是否有呼吸疾病   \n",
       "29         AHRT  Char                  是否有心脏病   \n",
       "..          ...   ...                     ...   \n",
       "46         SGLL  Char               是否经常有奢侈消费   \n",
       "47         SGOE  Char                是否经常户外活动   \n",
       "48         SGSE  Char                  是否喜欢运动   \n",
       "49         SGTC  Char                  是否热爱科技   \n",
       "50     LIVEWELL  Char                    幸福指数   \n",
       "51      HOMSTAT  Char                   是否有房子   \n",
       "52       HINSUB  Char                 是否有医保补贴   \n",
       "53      c210cip   Num                  收入所处排名   \n",
       "54      c210ebi   Num              普查家庭有效购买收入   \n",
       "55      c210hmi   Num                    家庭收入   \n",
       "56      c210hva   Num                  家庭房屋价值   \n",
       "57     c210kses   Num                社会经济地位评分   \n",
       "58      c210mah   Num              家庭自成立日起的时间   \n",
       "59         tins   Num      该客户被多少个名单source 包含   \n",
       "60   STATE_NAME  Char                   所处的省份   \n",
       "61     c210apvt   Num                贫穷以上人的比例   \n",
       "62     c210b200   Num  所处地区有多少居住小区在2000年及以后建立   \n",
       "63      c210blu   Num             所处地区蓝领所占百分比   \n",
       "64     c210bpvt   Num                贫穷以下人的比例   \n",
       "65      c210mob   Num      所处地区mobile home的比例   \n",
       "66      c210pdv   Num            离婚或者分居人群所占比例   \n",
       "67      c210pmr   Num                已婚人群所占比例   \n",
       "68      c210poo   Num                有房子人所占比例   \n",
       "69      c210psu   Num                独宅住户所占比例   \n",
       "70      c210pwc   Num              有小孩的家庭所占比例   \n",
       "71      c210wht   Num                  白领所占比例   \n",
       "72         ilor   Num                所处地区居住年限   \n",
       "73  KBM_INDV_ID   Num           Individual ID   \n",
       "74         pdpe   Num          所在地区处方药计划覆盖的比例   \n",
       "75       zhip19   Num        zip level的家庭收入排名   \n",
       "\n",
       "                                                   备注  \n",
       "0                                                 NaN  \n",
       "1                                                 NaN  \n",
       "2                                                 NaN  \n",
       "3                                                 NaN  \n",
       "4   0-unknown; 1-初中；2-高中不到；3-高中毕业；4-大学未毕业；\\n5-大专；6...  \n",
       "5                                                 NaN  \n",
       "6                                                 NaN  \n",
       "7                                                 NaN  \n",
       "8                                                 NaN  \n",
       "9                                                 NaN  \n",
       "10                                                NaN  \n",
       "11                                                NaN  \n",
       "12                                                NaN  \n",
       "13                                                NaN  \n",
       "14                                                NaN  \n",
       "15                                                NaN  \n",
       "16                                                NaN  \n",
       "17                                                NaN  \n",
       "18                                                NaN  \n",
       "19                                                NaN  \n",
       "20                                                NaN  \n",
       "21                                                NaN  \n",
       "22                                                NaN  \n",
       "23                                                NaN  \n",
       "24                                                NaN  \n",
       "25                                                NaN  \n",
       "26                                                NaN  \n",
       "27                                                NaN  \n",
       "28                                                NaN  \n",
       "29                                                NaN  \n",
       "..                                                ...  \n",
       "46                                                NaN  \n",
       "47                                                NaN  \n",
       "48                                                NaN  \n",
       "49                                                NaN  \n",
       "50                                          值越大，说明越幸福  \n",
       "51                       Y:有房子；P:可能有房子；R: 租房； T,U:不确定  \n",
       "52                                        A-C, 补贴依次增加  \n",
       "53                                         值越大，说明收入越高  \n",
       "54                                     值越大，说明有效购买收入越高  \n",
       "55                                       值越大，说明家庭收入越高  \n",
       "56                                       值越大，说明房屋价值越高  \n",
       "57                                       值越大，说明经济地位越高  \n",
       "58                                                NaN  \n",
       "59                                                NaN  \n",
       "60                                                NaN  \n",
       "61                                         值越大，说明比例越高  \n",
       "62                                         值越大，说明比例越高  \n",
       "63                                         值越大，说明比例越高  \n",
       "64                                         值越大，说明比例越高  \n",
       "65                                         值越大，说明比例越高  \n",
       "66                                         值越大，说明比例越高  \n",
       "67                                         值越大，说明比例越高  \n",
       "68                                         值越大，说明比例越高  \n",
       "69                                         值越大，说明比例越高  \n",
       "70                                         值越大，说明比例越高  \n",
       "71                                         值越大，说明比例越高  \n",
       "72                                       值越大，说明居住年限越长  \n",
       "73                                                NaN  \n",
       "74                                       值越大，说明覆盖比例越高  \n",
       "75                                         值越大，说明收入越高  \n",
       "\n",
       "[76 rows x 4 columns]"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "feature_dict"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "deadly-script",
   "metadata": {},
   "source": [
    "### 处理列标签名异常"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "interior-grammar",
   "metadata": {},
   "source": [
    "表中字段与数据字典不匹配，判断data_01中列标签名是否都出现在数据字典的变量名中"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "stainless-lithuania",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(Index(['KBM_INDV_ID', 'resp_flag', 'GEND', 'CA00', 'CA03', 'CA06', 'CA11',\n",
       "        'CA16', 'AART', 'ADBT', 'ADEP', 'AHBP', 'AHCH', 'ARES', 'AHRT', 'AASN',\n",
       "        'ADGS', 'AHRL', 'ASKN', 'AVIS', 'BANK', 'COLLEGE', 'FINI', 'INLI',\n",
       "        'INMEDI', 'INVE', 'IOLP', 'MOBPLUS', 'N2NCY', 'NY8Y9', 'N2N29', 'N3N39',\n",
       "        'N4N49', 'N5N59', 'N6N64', 'N65P', 'ONLA', 'POEP', 'SGFA', 'SGLL',\n",
       "        'SGOE', 'SGSE', 'SGTC', 'U18', 'LIVEWELL', 'NOC19', 'NAH19', 'NPH19',\n",
       "        'POC19', 'HOMSTAT', 'HINSUB', 'STATE_NAME', 'age', 'c210apvt',\n",
       "        'c210b200', 'c210blu', 'c210bpvt', 'c210cip', 'c210ebi', 'c210hmi',\n",
       "        'c210hva', 'c210kses', 'c210mah', 'c210mob', 'c210mys', 'c210pdv',\n",
       "        'c210pmr', 'c210poo', 'c210psu', 'c210pwc', 'c210wht', 'ilor', 'meda',\n",
       "        'pdpe', 'tins', 'zhip19'],\n",
       "       dtype='object'),\n",
       " 0     KBM_INDV_ID\n",
       " 1       resp_flag\n",
       " 2             age\n",
       " 3            GEND\n",
       " 4         c210mys\n",
       " 5           POC19\n",
       " 6            CA00\n",
       " 7            CA03\n",
       " 8            CA06\n",
       " 9            CA11\n",
       " 10           CA16\n",
       " 11          NOC19\n",
       " 12          NAH19\n",
       " 13          NPH19\n",
       " 14            U18\n",
       " 15          N1819\n",
       " 16          N2029\n",
       " 17          N3039\n",
       " 18          N4049\n",
       " 19          N5059\n",
       " 20          N6064\n",
       " 21           N65P\n",
       " 22           POEP\n",
       " 23           AART\n",
       " 24           ADBT\n",
       " 25           ADEP\n",
       " 26           AHBP\n",
       " 27           AHCH\n",
       " 28           ARES\n",
       " 29           AHRT\n",
       "          ...     \n",
       " 46           SGLL\n",
       " 47           SGOE\n",
       " 48           SGSE\n",
       " 49           SGTC\n",
       " 50       LIVEWELL\n",
       " 51        HOMSTAT\n",
       " 52         HINSUB\n",
       " 53        c210cip\n",
       " 54        c210ebi\n",
       " 55        c210hmi\n",
       " 56        c210hva\n",
       " 57       c210kses\n",
       " 58        c210mah\n",
       " 59           tins\n",
       " 60     STATE_NAME\n",
       " 61       c210apvt\n",
       " 62       c210b200\n",
       " 63        c210blu\n",
       " 64       c210bpvt\n",
       " 65        c210mob\n",
       " 66        c210pdv\n",
       " 67        c210pmr\n",
       " 68        c210poo\n",
       " 69        c210psu\n",
       " 70        c210pwc\n",
       " 71        c210wht\n",
       " 72           ilor\n",
       " 73    KBM_INDV_ID\n",
       " 74           pdpe\n",
       " 75         zhip19\n",
       " Name: 变量名, Length: 76, dtype: object)"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_01.columns,feature_dict.变量名"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "round-apple",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array(['N1819', 'N2029', 'N2N29', 'N3039', 'N3N39', 'N4049', 'N4N49',\n",
       "       'N5059', 'N5N59', 'N6064', 'N6N64', 'NY8Y9', 'meda'], dtype=object)"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#np函数可以取两者补集!!!!!!!!!!!\n",
    "np.setxor1d(data_01.columns,feature_dict.变量名)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "rubber-transsexual",
   "metadata": {},
   "outputs": [],
   "source": [
    "# #数据表列标签\n",
    "# 'NY8Y9','N2N29','N3N39','N4N49','N5N59','N6N64'\n",
    "\n",
    "\n",
    "# #数据字典标签\n",
    "# 'N1819','N2020','N3039','N4049','N5059','N6064'\n",
    "\n",
    "# # 'meda'----不知道是啥，删除掉"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "rational-aquarium",
   "metadata": {},
   "source": [
    "替换异常标签"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "unlikely-harvard",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'NY8Y9': 'N1819',\n",
       " 'N2N29': 'N2029',\n",
       " 'N3N39': 'N3039',\n",
       " 'N4N49': 'N4049',\n",
       " 'N5N59': 'N5059',\n",
       " 'N6N64': 'N6064'}"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "a = ['NY8Y9','N2N29','N3N39','N4N49','N5N59','N6N64']\n",
    "b = ['N1819','N2029','N3039','N4049','N5059','N6064']\n",
    "dic = dict(zip(a,b))\n",
    "dic"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "official-program",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['KBM_INDV_ID', 'resp_flag', 'GEND', 'CA00', 'CA03', 'CA06', 'CA11',\n",
       "       'CA16', 'AART', 'ADBT', 'ADEP', 'AHBP', 'AHCH', 'ARES', 'AHRT', 'AASN',\n",
       "       'ADGS', 'AHRL', 'ASKN', 'AVIS', 'BANK', 'COLLEGE', 'FINI', 'INLI',\n",
       "       'INMEDI', 'INVE', 'IOLP', 'MOBPLUS', 'N2NCY', 'N1819', 'N2029', 'N3039',\n",
       "       'N4049', 'N5059', 'N6064', 'N65P', 'ONLA', 'POEP', 'SGFA', 'SGLL',\n",
       "       'SGOE', 'SGSE', 'SGTC', 'U18', 'LIVEWELL', 'NOC19', 'NAH19', 'NPH19',\n",
       "       'POC19', 'HOMSTAT', 'HINSUB', 'STATE_NAME', 'age', 'c210apvt',\n",
       "       'c210b200', 'c210blu', 'c210bpvt', 'c210cip', 'c210ebi', 'c210hmi',\n",
       "       'c210hva', 'c210kses', 'c210mah', 'c210mob', 'c210mys', 'c210pdv',\n",
       "       'c210pmr', 'c210poo', 'c210psu', 'c210pwc', 'c210wht', 'ilor', 'meda',\n",
       "       'pdpe', 'tins', 'zhip19'],\n",
       "      dtype='object')"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def tran(x):\n",
    "    if x in dic:\n",
    "        return dic[x]\n",
    "    else:\n",
    "        return x\n",
    "tran = np.vectorize(tran) #向量化??\n",
    "\n",
    "#使用向量化函数替换异常表头\n",
    "data_01.columns = tran(data_01.columns)\n",
    "data_01.columns"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "inside-relations",
   "metadata": {},
   "source": [
    "### 创建自定义翻译函数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "underlying-cedar",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([['KBM_INDV_ID', 'Individual ID'],\n",
       "       ['resp_flag', '是否response'],\n",
       "       ['age', '年龄'],\n",
       "       ['GEND', '性别'],\n",
       "       ['c210mys', '学历'],\n",
       "       ['POC19', '是否有小孩'],\n",
       "       ['CA00', '小孩是否在0-2岁之间'],\n",
       "       ['CA03', '小孩是否在3-5岁之间'],\n",
       "       ['CA06', '小孩是否在6-10岁之间'],\n",
       "       ['CA11', '小孩是否在11-15岁之间'],\n",
       "       ['CA16', '小孩是否在16-18岁之间'],\n",
       "       ['NOC19', '家庭小孩个数'],\n",
       "       ['NAH19', '家庭成年人个数'],\n",
       "       ['NPH19', '家庭成员人数量'],\n",
       "       ['U18', '是否有家庭成员小于18岁'],\n",
       "       ['N1819', '是否有家庭成员在18-19岁之间'],\n",
       "       ['N2029', '是否有家庭成员在20-29岁之间'],\n",
       "       ['N3039', '是否有家庭成员在30-39岁之间'],\n",
       "       ['N4049', '是否有家庭成员在40-49岁之间'],\n",
       "       ['N5059', '是否有家庭成员在50-59岁之间'],\n",
       "       ['N6064', '是否有家庭成员在60-64岁之间'],\n",
       "       ['N65P', '是否有家庭成员在65岁以上'],\n",
       "       ['POEP', '家里是否有老人'],\n",
       "       ['AART', '是否有关节炎'],\n",
       "       ['ADBT', '是否有糖尿病'],\n",
       "       ['ADEP', '是否有抑郁症'],\n",
       "       ['AHBP', '是否有高血压'],\n",
       "       ['AHCH', '胆固醇含量是否过高'],\n",
       "       ['ARES', '是否有呼吸疾病'],\n",
       "       ['AHRT', '是否有心脏病'],\n",
       "       ['AASN', '是否有过敏性鼻炎'],\n",
       "       ['ADGS', '是否有消化不良'],\n",
       "       ['AHRL', '是否耳聋'],\n",
       "       ['ASKN', '是否有皮肤病'],\n",
       "       ['AVIS', '是否视力不好'],\n",
       "       ['BANK', '是否有过破产记录'],\n",
       "       ['COLLEGE', '是否大学毕业'],\n",
       "       ['FINI', '是否用过保险服务'],\n",
       "       ['INLI', '是否投资过寿险'],\n",
       "       ['INMEDI', '是否购买过医疗险'],\n",
       "       ['INVE', '是否有投资'],\n",
       "       ['IOLP', '是否网上购买过产品'],\n",
       "       ['MOBPLUS', '是否通过快递买过东西'],\n",
       "       ['N2NCY', '所处的县的大小'],\n",
       "       ['ONLA', '是否上网'],\n",
       "       ['SGFA', '是否喜欢美术'],\n",
       "       ['SGLL', '是否经常有奢侈消费'],\n",
       "       ['SGOE', '是否经常户外活动'],\n",
       "       ['SGSE', '是否喜欢运动'],\n",
       "       ['SGTC', '是否热爱科技'],\n",
       "       ['LIVEWELL', '幸福指数'],\n",
       "       ['HOMSTAT', '是否有房子'],\n",
       "       ['HINSUB', '是否有医保补贴'],\n",
       "       ['c210cip', '收入所处排名'],\n",
       "       ['c210ebi', '普查家庭有效购买收入'],\n",
       "       ['c210hmi', '家庭收入'],\n",
       "       ['c210hva', '家庭房屋价值'],\n",
       "       ['c210kses', '社会经济地位评分'],\n",
       "       ['c210mah', '家庭自成立日起的时间'],\n",
       "       ['tins', '该客户被多少个名单source 包含'],\n",
       "       ['STATE_NAME', '所处的省份'],\n",
       "       ['c210apvt', '贫穷以上人的比例'],\n",
       "       ['c210b200', '所处地区有多少居住小区在2000年及以后建立'],\n",
       "       ['c210blu', '所处地区蓝领所占百分比'],\n",
       "       ['c210bpvt', '贫穷以下人的比例'],\n",
       "       ['c210mob', '所处地区mobile home的比例'],\n",
       "       ['c210pdv', '离婚或者分居人群所占比例'],\n",
       "       ['c210pmr', '已婚人群所占比例'],\n",
       "       ['c210poo', '有房子人所占比例'],\n",
       "       ['c210psu', '独宅住户所占比例'],\n",
       "       ['c210pwc', '有小孩的家庭所占比例'],\n",
       "       ['c210wht', '白领所占比例'],\n",
       "       ['ilor', '所处地区居住年限'],\n",
       "       ['KBM_INDV_ID', 'Individual ID'],\n",
       "       ['pdpe', '所在地区处方药计划覆盖的比例'],\n",
       "       ['zhip19', 'zip level的家庭收入排名']], dtype=object)"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "feature_dict[['变量名','变量说明']].values.reshape(-1,2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "engaged-wheat",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'KBM_INDV_ID': 'Individual ID',\n",
       " 'resp_flag': '是否response',\n",
       " 'age': '年龄',\n",
       " 'GEND': '性别',\n",
       " 'c210mys': '学历',\n",
       " 'POC19': '是否有小孩',\n",
       " 'CA00': '小孩是否在0-2岁之间',\n",
       " 'CA03': '小孩是否在3-5岁之间',\n",
       " 'CA06': '小孩是否在6-10岁之间',\n",
       " 'CA11': '小孩是否在11-15岁之间',\n",
       " 'CA16': '小孩是否在16-18岁之间',\n",
       " 'NOC19': '家庭小孩个数',\n",
       " 'NAH19': '家庭成年人个数',\n",
       " 'NPH19': '家庭成员人数量',\n",
       " 'U18': '是否有家庭成员小于18岁',\n",
       " 'N1819': '是否有家庭成员在18-19岁之间',\n",
       " 'N2029': '是否有家庭成员在20-29岁之间',\n",
       " 'N3039': '是否有家庭成员在30-39岁之间',\n",
       " 'N4049': '是否有家庭成员在40-49岁之间',\n",
       " 'N5059': '是否有家庭成员在50-59岁之间',\n",
       " 'N6064': '是否有家庭成员在60-64岁之间',\n",
       " 'N65P': '是否有家庭成员在65岁以上',\n",
       " 'POEP': '家里是否有老人',\n",
       " 'AART': '是否有关节炎',\n",
       " 'ADBT': '是否有糖尿病',\n",
       " 'ADEP': '是否有抑郁症',\n",
       " 'AHBP': '是否有高血压',\n",
       " 'AHCH': '胆固醇含量是否过高',\n",
       " 'ARES': '是否有呼吸疾病',\n",
       " 'AHRT': '是否有心脏病',\n",
       " 'AASN': '是否有过敏性鼻炎',\n",
       " 'ADGS': '是否有消化不良',\n",
       " 'AHRL': '是否耳聋',\n",
       " 'ASKN': '是否有皮肤病',\n",
       " 'AVIS': '是否视力不好',\n",
       " 'BANK': '是否有过破产记录',\n",
       " 'COLLEGE': '是否大学毕业',\n",
       " 'FINI': '是否用过保险服务',\n",
       " 'INLI': '是否投资过寿险',\n",
       " 'INMEDI': '是否购买过医疗险',\n",
       " 'INVE': '是否有投资',\n",
       " 'IOLP': '是否网上购买过产品',\n",
       " 'MOBPLUS': '是否通过快递买过东西',\n",
       " 'N2NCY': '所处的县的大小',\n",
       " 'ONLA': '是否上网',\n",
       " 'SGFA': '是否喜欢美术',\n",
       " 'SGLL': '是否经常有奢侈消费',\n",
       " 'SGOE': '是否经常户外活动',\n",
       " 'SGSE': '是否喜欢运动',\n",
       " 'SGTC': '是否热爱科技',\n",
       " 'LIVEWELL': '幸福指数',\n",
       " 'HOMSTAT': '是否有房子',\n",
       " 'HINSUB': '是否有医保补贴',\n",
       " 'c210cip': '收入所处排名',\n",
       " 'c210ebi': '普查家庭有效购买收入',\n",
       " 'c210hmi': '家庭收入',\n",
       " 'c210hva': '家庭房屋价值',\n",
       " 'c210kses': '社会经济地位评分',\n",
       " 'c210mah': '家庭自成立日起的时间',\n",
       " 'tins': '该客户被多少个名单source 包含',\n",
       " 'STATE_NAME': '所处的省份',\n",
       " 'c210apvt': '贫穷以上人的比例',\n",
       " 'c210b200': '所处地区有多少居住小区在2000年及以后建立',\n",
       " 'c210blu': '所处地区蓝领所占百分比',\n",
       " 'c210bpvt': '贫穷以下人的比例',\n",
       " 'c210mob': '所处地区mobile home的比例',\n",
       " 'c210pdv': '离婚或者分居人群所占比例',\n",
       " 'c210pmr': '已婚人群所占比例',\n",
       " 'c210poo': '有房子人所占比例',\n",
       " 'c210psu': '独宅住户所占比例',\n",
       " 'c210pwc': '有小孩的家庭所占比例',\n",
       " 'c210wht': '白领所占比例',\n",
       " 'ilor': '所处地区居住年限',\n",
       " 'pdpe': '所在地区处方药计划覆盖的比例',\n",
       " 'zhip19': 'zip level的家庭收入排名'}"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#提高探索数据效率，替换中文列名\n",
    "dic = {k:v for k,v in feature_dict[['变量名','变量说明']].values.reshape(-1,2)}\n",
    "dic\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "studied-robert",
   "metadata": {},
   "outputs": [],
   "source": [
    "def chinese(x):\n",
    "    y = x.copy()\n",
    "    #将输入进来的字段名通过字典映射方式去对应\n",
    "    y.columns = pd.Series(y.columns).map(dic)\n",
    "    return y"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "julian-alloy",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Individual ID</th>\n",
       "      <th>是否response</th>\n",
       "      <th>性别</th>\n",
       "      <th>小孩是否在0-2岁之间</th>\n",
       "      <th>小孩是否在3-5岁之间</th>\n",
       "      <th>小孩是否在6-10岁之间</th>\n",
       "      <th>小孩是否在11-15岁之间</th>\n",
       "      <th>小孩是否在16-18岁之间</th>\n",
       "      <th>是否有关节炎</th>\n",
       "      <th>是否有糖尿病</th>\n",
       "      <th>...</th>\n",
       "      <th>已婚人群所占比例</th>\n",
       "      <th>有房子人所占比例</th>\n",
       "      <th>独宅住户所占比例</th>\n",
       "      <th>有小孩的家庭所占比例</th>\n",
       "      <th>白领所占比例</th>\n",
       "      <th>所处地区居住年限</th>\n",
       "      <th>nan</th>\n",
       "      <th>所在地区处方药计划覆盖的比例</th>\n",
       "      <th>该客户被多少个名单source 包含</th>\n",
       "      <th>zip level的家庭收入排名</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>281478</td>\n",
       "      <td>0</td>\n",
       "      <td>M</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>...</td>\n",
       "      <td>52</td>\n",
       "      <td>65</td>\n",
       "      <td>71.0</td>\n",
       "      <td>22</td>\n",
       "      <td>79.0</td>\n",
       "      <td>15.0</td>\n",
       "      <td>64.0</td>\n",
       "      <td>42</td>\n",
       "      <td>8</td>\n",
       "      <td>8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>290485</td>\n",
       "      <td>0</td>\n",
       "      <td>M</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>...</td>\n",
       "      <td>44</td>\n",
       "      <td>81</td>\n",
       "      <td>99.0</td>\n",
       "      <td>37</td>\n",
       "      <td>65.0</td>\n",
       "      <td>17.0</td>\n",
       "      <td>61.0</td>\n",
       "      <td>46</td>\n",
       "      <td>6</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>299949</td>\n",
       "      <td>0</td>\n",
       "      <td>F</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>...</td>\n",
       "      <td>38</td>\n",
       "      <td>44</td>\n",
       "      <td>62.0</td>\n",
       "      <td>44</td>\n",
       "      <td>47.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>61.0</td>\n",
       "      <td>46</td>\n",
       "      <td>7</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>314635</td>\n",
       "      <td>0</td>\n",
       "      <td>F</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>...</td>\n",
       "      <td>45</td>\n",
       "      <td>71</td>\n",
       "      <td>99.0</td>\n",
       "      <td>39</td>\n",
       "      <td>71.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>62.0</td>\n",
       "      <td>37</td>\n",
       "      <td>8</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>363702</td>\n",
       "      <td>0</td>\n",
       "      <td>F</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>...</td>\n",
       "      <td>32</td>\n",
       "      <td>13</td>\n",
       "      <td>36.0</td>\n",
       "      <td>15</td>\n",
       "      <td>65.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>37</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 76 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   Individual ID  是否response 性别  小孩是否在0-2岁之间  小孩是否在3-5岁之间  小孩是否在6-10岁之间  \\\n",
       "0         281478           0  M            4            0             5   \n",
       "1         290485           0  M            0            0             0   \n",
       "2         299949           0  F            0            0             0   \n",
       "3         314635           0  F            0            4             0   \n",
       "4         363702           0  F            0            0             0   \n",
       "\n",
       "   小孩是否在11-15岁之间  小孩是否在16-18岁之间 是否有关节炎 是否有糖尿病  ... 已婚人群所占比例 有房子人所占比例 独宅住户所占比例  \\\n",
       "0              1              1      N      N  ...       52       65     71.0   \n",
       "1              0              0      N      N  ...       44       81     99.0   \n",
       "2              0              0      N      N  ...       38       44     62.0   \n",
       "3              0              0      N      N  ...       45       71     99.0   \n",
       "4              0              0      N      N  ...       32       13     36.0   \n",
       "\n",
       "  有小孩的家庭所占比例 白领所占比例 所处地区居住年限   NaN 所在地区处方药计划覆盖的比例 该客户被多少个名单source 包含  \\\n",
       "0         22   79.0     15.0  64.0             42                  8   \n",
       "1         37   65.0     17.0  61.0             46                  6   \n",
       "2         44   47.0     20.0  61.0             46                  7   \n",
       "3         39   71.0      4.0  62.0             37                  8   \n",
       "4         15   65.0      9.0   NaN             37                  4   \n",
       "\n",
       "  zip level的家庭收入排名  \n",
       "0                8  \n",
       "1                3  \n",
       "2                3  \n",
       "3                9  \n",
       "4                3  \n",
       "\n",
       "[5 rows x 76 columns]"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "\n",
    "\n",
    "chinese(data_01).head()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "engaged-hampton",
   "metadata": {},
   "source": [
    "### 探索用户基本信息"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "recognized-hobby",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    KBM_INDV_ID\n",
       "1      resp_flag\n",
       "2            age\n",
       "3           GEND\n",
       "4        c210mys\n",
       "Name: 变量名, dtype: object"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "feature_dict.变量名[:5]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "retired-activity",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['KBM_INDV_ID', 'resp_flag', 'age', 'GEND', 'c210mys']"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "feature_dict.变量名[:5].tolist()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "moderate-shift",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>KBM_INDV_ID</th>\n",
       "      <th>resp_flag</th>\n",
       "      <th>age</th>\n",
       "      <th>GEND</th>\n",
       "      <th>c210mys</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>281478</td>\n",
       "      <td>0</td>\n",
       "      <td>67.0</td>\n",
       "      <td>M</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>290485</td>\n",
       "      <td>0</td>\n",
       "      <td>76.0</td>\n",
       "      <td>M</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>299949</td>\n",
       "      <td>0</td>\n",
       "      <td>67.0</td>\n",
       "      <td>F</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>314635</td>\n",
       "      <td>0</td>\n",
       "      <td>71.0</td>\n",
       "      <td>F</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>363702</td>\n",
       "      <td>0</td>\n",
       "      <td>75.0</td>\n",
       "      <td>F</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   KBM_INDV_ID  resp_flag   age GEND  c210mys\n",
       "0       281478          0  67.0    M        5\n",
       "1       290485          0  76.0    M        4\n",
       "2       299949          0  67.0    F        4\n",
       "3       314635          0  71.0    F        4\n",
       "4       363702          0  75.0    F        4"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_01[feature_dict.变量名[:5].tolist()].head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "breathing-stocks",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Individual ID</th>\n",
       "      <th>是否response</th>\n",
       "      <th>年龄</th>\n",
       "      <th>性别</th>\n",
       "      <th>学历</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>281478</td>\n",
       "      <td>0</td>\n",
       "      <td>67.0</td>\n",
       "      <td>M</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>290485</td>\n",
       "      <td>0</td>\n",
       "      <td>76.0</td>\n",
       "      <td>M</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>299949</td>\n",
       "      <td>0</td>\n",
       "      <td>67.0</td>\n",
       "      <td>F</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>314635</td>\n",
       "      <td>0</td>\n",
       "      <td>71.0</td>\n",
       "      <td>F</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>363702</td>\n",
       "      <td>0</td>\n",
       "      <td>75.0</td>\n",
       "      <td>F</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Individual ID  是否response    年龄 性别  学历\n",
       "0         281478           0  67.0  M   5\n",
       "1         290485           0  76.0  M   4\n",
       "2         299949           0  67.0  F   4\n",
       "3         314635           0  71.0  F   4\n",
       "4         363702           0  75.0  F   4"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#调用翻译函数\n",
    "data0_4 = chinese(data_01[feature_dict.变量名[:5].tolist()])\n",
    "data0_4.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "sweet-stereo",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Individual ID    43666\n",
       "是否response       43666\n",
       "年龄               43662\n",
       "性别               43666\n",
       "学历               43666\n",
       "dtype: int64"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data0_4.count()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "turkish-manner",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Individual ID    0\n",
       "是否response       0\n",
       "年龄               4\n",
       "性别               0\n",
       "学历               0\n",
       "dtype: int64"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data0_4.isnull().sum()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "noted-sixth",
   "metadata": {},
   "source": [
    "#### 自动定义探索特征频率函数"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "victorian-enlargement",
   "metadata": {},
   "source": [
    "作用：输入一个df，输出每个特征的频数分布"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "billion-foundation",
   "metadata": {},
   "outputs": [],
   "source": [
    "def fre(x):\n",
    "    for i in x.columns:\n",
    "        print('字段名:',i)\n",
    "        print('--------------')\n",
    "        print('字段数据类型:',x[i].dtype)\n",
    "        print('--------------')\n",
    "        print('频数:',x[i].value_counts())\n",
    "        print('--------------')\n",
    "        print('缺失值个数:',x[i].isnull().sum())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "lasting-steering",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "字段名: Individual ID\n",
      "--------------\n",
      "字段数据类型: int64\n",
      "--------------\n",
      "频数: 142936063    1\n",
      "68797618     1\n",
      "193209817    1\n",
      "172309160    1\n",
      "171816124    1\n",
      "161582267    1\n",
      "185889567    1\n",
      "397430357    1\n",
      "102821047    1\n",
      "6618293      1\n",
      "21224625     1\n",
      "186014881    1\n",
      "180909461    1\n",
      "186465453    1\n",
      "195799799    1\n",
      "83102891     1\n",
      "83082413     1\n",
      "166337705    1\n",
      "189666472    1\n",
      "161901735    1\n",
      "205214912    1\n",
      "121914562    1\n",
      "232934595    1\n",
      "195261636    1\n",
      "7187679      1\n",
      "45393118     1\n",
      "128433373    1\n",
      "12563676     1\n",
      "170034394    1\n",
      "94346457     1\n",
      "            ..\n",
      "126086431    1\n",
      "383648078    1\n",
      "29833682     1\n",
      "209854929    1\n",
      "227858894    1\n",
      "179356109    1\n",
      "208062924    1\n",
      "188905610    1\n",
      "31177186     1\n",
      "86936036     1\n",
      "177908224    1\n",
      "174711851    1\n",
      "180310527    1\n",
      "237195160    1\n",
      "22635001     1\n",
      "360275138    1\n",
      "31134199     1\n",
      "187081850    1\n",
      "210829813    1\n",
      "195824116    1\n",
      "85146098     1\n",
      "193341936    1\n",
      "180146671    1\n",
      "180148718    1\n",
      "183229515    1\n",
      "172641155    1\n",
      "76214763     1\n",
      "228943803    1\n",
      "185032198    1\n",
      "1966080      1\n",
      "Name: Individual ID, Length: 43666, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: 是否response\n",
      "--------------\n",
      "字段数据类型: int64\n",
      "--------------\n",
      "频数: 0    26177\n",
      "1    17489\n",
      "Name: 是否response, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: 年龄\n",
      "--------------\n",
      "字段数据类型: float64\n",
      "--------------\n",
      "频数: 66.0     3967\n",
      "67.0     3670\n",
      "65.0     3475\n",
      "69.0     3449\n",
      "68.0     3423\n",
      "70.0     2948\n",
      "71.0     2943\n",
      "72.0     2909\n",
      "74.0     2817\n",
      "73.0     2814\n",
      "75.0     2448\n",
      "76.0     2220\n",
      "78.0     2038\n",
      "77.0     2012\n",
      "79.0     1823\n",
      "80.0      691\n",
      "91.0        2\n",
      "86.0        2\n",
      "88.0        2\n",
      "96.0        1\n",
      "99.0        1\n",
      "82.0        1\n",
      "95.0        1\n",
      "90.0        1\n",
      "98.0        1\n",
      "87.0        1\n",
      "94.0        1\n",
      "101.0       1\n",
      "Name: 年龄, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 4\n",
      "字段名: 性别\n",
      "--------------\n",
      "字段数据类型: object\n",
      "--------------\n",
      "频数: F    25405\n",
      "M    18261\n",
      "Name: 性别, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: 学历\n",
      "--------------\n",
      "字段数据类型: int64\n",
      "--------------\n",
      "频数: 4    18597\n",
      "3    12437\n",
      "6     7493\n",
      "5     4474\n",
      "2      462\n",
      "7      130\n",
      "0       60\n",
      "1        9\n",
      "8        4\n",
      "Name: 学历, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n"
     ]
    }
   ],
   "source": [
    "fre(data0_4)\n",
    "#解读：根据结果，删掉Individual ID字段；年龄：填中位数；学历：哑变量；。。等等"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "included-color",
   "metadata": {},
   "outputs": [],
   "source": [
    "import warnings\n",
    "warnings.filterwarnings('ignore')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "valuable-appliance",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Individual ID</th>\n",
       "      <th>是否response</th>\n",
       "      <th>年龄</th>\n",
       "      <th>性别</th>\n",
       "      <th>学历</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>281478</td>\n",
       "      <td>0</td>\n",
       "      <td>67.0</td>\n",
       "      <td>M</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>290485</td>\n",
       "      <td>0</td>\n",
       "      <td>76.0</td>\n",
       "      <td>M</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>299949</td>\n",
       "      <td>0</td>\n",
       "      <td>67.0</td>\n",
       "      <td>F</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>314635</td>\n",
       "      <td>0</td>\n",
       "      <td>71.0</td>\n",
       "      <td>F</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>363702</td>\n",
       "      <td>0</td>\n",
       "      <td>75.0</td>\n",
       "      <td>F</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Individual ID  是否response    年龄 性别  学历\n",
       "0         281478           0  67.0  M   5\n",
       "1         290485           0  76.0  M   4\n",
       "2         299949           0  67.0  F   4\n",
       "3         314635           0  71.0  F   4\n",
       "4         363702           0  75.0  F   4"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data0_4.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "changing-macedonia",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 432x144 with 0 Axes>"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x29dacaf0208>"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x144 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import seaborn as sns\n",
    "\n",
    "sns.set()\n",
    "\n",
    "plt.figure(1,figsize=(6,2))\n",
    "sns.countplot(y='是否response',data=data0_4)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "finite-scale",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>年龄</th>\n",
       "      <th>是否response</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>26177</th>\n",
       "      <td>65.0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26178</th>\n",
       "      <td>71.0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26179</th>\n",
       "      <td>69.0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26180</th>\n",
       "      <td>71.0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26181</th>\n",
       "      <td>72.0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         年龄  是否response\n",
       "26177  65.0           1\n",
       "26178  71.0           1\n",
       "26179  69.0           1\n",
       "26180  71.0           1\n",
       "26181  72.0           1"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data0_4[['年龄','是否response']][data0_4.是否response==1].head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "departmental-proposition",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x29daec08e80>"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x29daec08e80>"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x29daec08e80>"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "(60, 90)"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "Text(0.5, 0, 'Age')"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "Text(0, 0.5, 'Density')"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x29daec80630>"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#根据年龄 概率密度图\n",
    "sns.kdeplot(data0_4.年龄[data0_4.是否response==1],label='购买')\n",
    "sns.kdeplot(data0_4.年龄[data0_4.是否response==0],label='不购买')\n",
    "sns.kdeplot(data0_4.年龄.dropna(),label='所有人')\n",
    "\n",
    "plt.xlim([60,90])\n",
    "plt.xlabel('Age')\n",
    "plt.ylabel('Density')\n",
    "plt.legend()\n",
    "#解读：主要集中在60-70岁"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "understood-microphone",
   "metadata": {},
   "source": [
    "### 探索家庭成员字段信息"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "id": "ecological-heading",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>是否有小孩</th>\n",
       "      <th>小孩是否在0-2岁之间</th>\n",
       "      <th>小孩是否在3-5岁之间</th>\n",
       "      <th>小孩是否在6-10岁之间</th>\n",
       "      <th>小孩是否在11-15岁之间</th>\n",
       "      <th>小孩是否在16-18岁之间</th>\n",
       "      <th>家庭小孩个数</th>\n",
       "      <th>家庭成年人个数</th>\n",
       "      <th>家庭成员人数量</th>\n",
       "      <th>是否有家庭成员小于18岁</th>\n",
       "      <th>是否有家庭成员在18-19岁之间</th>\n",
       "      <th>是否有家庭成员在20-29岁之间</th>\n",
       "      <th>是否有家庭成员在30-39岁之间</th>\n",
       "      <th>是否有家庭成员在40-49岁之间</th>\n",
       "      <th>是否有家庭成员在50-59岁之间</th>\n",
       "      <th>是否有家庭成员在60-64岁之间</th>\n",
       "      <th>是否有家庭成员在65岁以上</th>\n",
       "      <th>家里是否有老人</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Y</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>5</td>\n",
       "      <td>3</td>\n",
       "      <td>8</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>Y</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>U</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>Y</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>U</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>Y</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Y</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>4</td>\n",
       "      <td>5</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "      <td>N</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>U</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>Y</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  是否有小孩  小孩是否在0-2岁之间  小孩是否在3-5岁之间  小孩是否在6-10岁之间  小孩是否在11-15岁之间  小孩是否在16-18岁之间  \\\n",
       "0     Y            4            0             5              1              1   \n",
       "1     U            0            0             0              0              0   \n",
       "2     U            0            0             0              0              0   \n",
       "3     Y            0            4             0              0              0   \n",
       "4     U            0            0             0              0              0   \n",
       "\n",
       "   家庭小孩个数  家庭成年人个数  家庭成员人数量 是否有家庭成员小于18岁 是否有家庭成员在18-19岁之间 是否有家庭成员在20-29岁之间  \\\n",
       "0       5        3        8            N                N                N   \n",
       "1       0        1        1            N                N                N   \n",
       "2       0        1        1            N                N                N   \n",
       "3       1        4        5            N                N                N   \n",
       "4       0        1        1            N                N                N   \n",
       "\n",
       "  是否有家庭成员在30-39岁之间 是否有家庭成员在40-49岁之间 是否有家庭成员在50-59岁之间 是否有家庭成员在60-64岁之间  \\\n",
       "0                Y                N                N                Y   \n",
       "1                N                N                N                N   \n",
       "2                N                N                N                N   \n",
       "3                N                Y                Y                N   \n",
       "4                N                N                N                N   \n",
       "\n",
       "  是否有家庭成员在65岁以上 家里是否有老人  \n",
       "0             Y       Y  \n",
       "1             Y       N  \n",
       "2             Y       N  \n",
       "3             Y       Y  \n",
       "4             Y       N  "
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#将家庭成员相关字段取出来并进行翻译\n",
    "data5_22 = chinese(data_01[feature_dict.变量名[5:23].tolist()])\n",
    "data5_22.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "necessary-likelihood",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "字段名: 是否有小孩\n",
      "--------------\n",
      "字段数据类型: object\n",
      "--------------\n",
      "频数: U    24500\n",
      "Y    10225\n",
      "P     8941\n",
      "Name: 是否有小孩, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: 小孩是否在0-2岁之间\n",
      "--------------\n",
      "字段数据类型: int64\n",
      "--------------\n",
      "频数: 0    40677\n",
      "4     2856\n",
      "1       57\n",
      "2       48\n",
      "3       16\n",
      "6        9\n",
      "5        3\n",
      "Name: 小孩是否在0-2岁之间, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: 小孩是否在3-5岁之间\n",
      "--------------\n",
      "字段数据类型: int64\n",
      "--------------\n",
      "频数: 0    41087\n",
      "4     2068\n",
      "1      204\n",
      "2      202\n",
      "3       45\n",
      "5       30\n",
      "6       29\n",
      "7        1\n",
      "Name: 小孩是否在3-5岁之间, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: 小孩是否在6-10岁之间\n",
      "--------------\n",
      "字段数据类型: int64\n",
      "--------------\n",
      "频数: 0    38969\n",
      "4     2960\n",
      "1      553\n",
      "2      528\n",
      "6      240\n",
      "5      209\n",
      "3      176\n",
      "7       31\n",
      "Name: 小孩是否在6-10岁之间, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: 小孩是否在11-15岁之间\n",
      "--------------\n",
      "字段数据类型: int64\n",
      "--------------\n",
      "频数: 0    39430\n",
      "4     2281\n",
      "1      757\n",
      "2      651\n",
      "3      211\n",
      "5      176\n",
      "6      140\n",
      "7       20\n",
      "Name: 小孩是否在11-15岁之间, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: 小孩是否在16-18岁之间\n",
      "--------------\n",
      "字段数据类型: int64\n",
      "--------------\n",
      "频数: 0    40243\n",
      "4     1590\n",
      "1      826\n",
      "2      718\n",
      "3      164\n",
      "5       70\n",
      "6       54\n",
      "7        1\n",
      "Name: 小孩是否在16-18岁之间, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: 家庭小孩个数\n",
      "--------------\n",
      "字段数据类型: int64\n",
      "--------------\n",
      "频数: 0    33441\n",
      "1     5089\n",
      "2     2365\n",
      "3     1298\n",
      "4     1008\n",
      "5      290\n",
      "6      116\n",
      "7       30\n",
      "8       26\n",
      "9        3\n",
      "Name: 家庭小孩个数, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: 家庭成年人个数\n",
      "--------------\n",
      "字段数据类型: int64\n",
      "--------------\n",
      "频数: 1    15792\n",
      "2    13414\n",
      "3     7633\n",
      "4     3942\n",
      "5     1292\n",
      "0     1105\n",
      "6      349\n",
      "7      101\n",
      "8       29\n",
      "9        9\n",
      "Name: 家庭成年人个数, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: 家庭成员人数量\n",
      "--------------\n",
      "字段数据类型: int64\n",
      "--------------\n",
      "频数: 1     14970\n",
      "2     11148\n",
      "3      6120\n",
      "4      4123\n",
      "5      2499\n",
      "6      1547\n",
      "0      1105\n",
      "7       994\n",
      "8       569\n",
      "9       316\n",
      "10      152\n",
      "11       79\n",
      "12       25\n",
      "13       12\n",
      "15        3\n",
      "14        3\n",
      "16        1\n",
      "Name: 家庭成员人数量, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: 是否有家庭成员小于18岁\n",
      "--------------\n",
      "字段数据类型: object\n",
      "--------------\n",
      "频数: N    43665\n",
      "Y        1\n",
      "Name: 是否有家庭成员小于18岁, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: 是否有家庭成员在18-19岁之间\n",
      "--------------\n",
      "字段数据类型: object\n",
      "--------------\n",
      "频数: N    43579\n",
      "Y       78\n",
      "Name: 是否有家庭成员在18-19岁之间, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 9\n",
      "字段名: 是否有家庭成员在20-29岁之间\n",
      "--------------\n",
      "字段数据类型: object\n",
      "--------------\n",
      "频数: N    41318\n",
      "Y     2348\n",
      "Name: 是否有家庭成员在20-29岁之间, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: 是否有家庭成员在30-39岁之间\n",
      "--------------\n",
      "字段数据类型: object\n",
      "--------------\n",
      "频数: N    36624\n",
      "Y     7042\n",
      "Name: 是否有家庭成员在30-39岁之间, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: 是否有家庭成员在40-49岁之间\n",
      "--------------\n",
      "字段数据类型: object\n",
      "--------------\n",
      "频数: N    34740\n",
      "Y     8926\n",
      "Name: 是否有家庭成员在40-49岁之间, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: 是否有家庭成员在50-59岁之间\n",
      "--------------\n",
      "字段数据类型: object\n",
      "--------------\n",
      "频数: N    38345\n",
      "Y     5321\n",
      "Name: 是否有家庭成员在50-59岁之间, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: 是否有家庭成员在60-64岁之间\n",
      "--------------\n",
      "字段数据类型: object\n",
      "--------------\n",
      "频数: N    39544\n",
      "Y     4121\n",
      "0        1\n",
      "Name: 是否有家庭成员在60-64岁之间, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: 是否有家庭成员在65岁以上\n",
      "--------------\n",
      "字段数据类型: object\n",
      "--------------\n",
      "频数: Y    42461\n",
      "N     1205\n",
      "Name: 是否有家庭成员在65岁以上, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: 家里是否有老人\n",
      "--------------\n",
      "字段数据类型: object\n",
      "--------------\n",
      "频数: N    33522\n",
      "Y    10136\n",
      "Name: 家里是否有老人, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 8\n"
     ]
    }
   ],
   "source": [
    "#调用自动探索特征频率函数\n",
    "fre(data5_22)\n",
    "#解读：是否有小孩-转变哑变量；是否有家庭成员小于18岁---严重不均衡，删除；\n",
    "# 是否有家庭成员在60-64--有个0，可能是误填，给标记一下，替换成N\n",
    "#家里是否有老人-有8个缺失值，删掉；是否在18-19之间--缺失值，删掉\n",
    "#一堆是否在***岁之间的---转换为0-1编码"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "expressed-orlando",
   "metadata": {},
   "source": [
    "### 探索疾病相关字段信息"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "dirty-avatar",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>是否有关节炎</th>\n",
       "      <th>是否有糖尿病</th>\n",
       "      <th>是否有抑郁症</th>\n",
       "      <th>是否有高血压</th>\n",
       "      <th>胆固醇含量是否过高</th>\n",
       "      <th>是否有呼吸疾病</th>\n",
       "      <th>是否有心脏病</th>\n",
       "      <th>是否有过敏性鼻炎</th>\n",
       "      <th>是否有消化不良</th>\n",
       "      <th>是否耳聋</th>\n",
       "      <th>是否有皮肤病</th>\n",
       "      <th>是否视力不好</th>\n",
       "      <th>是否有过破产记录</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>Y</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  是否有关节炎 是否有糖尿病 是否有抑郁症 是否有高血压 胆固醇含量是否过高 是否有呼吸疾病 是否有心脏病 是否有过敏性鼻炎 是否有消化不良 是否耳聋  \\\n",
       "0      N      N      N      N         N       N      N        N       N    N   \n",
       "1      N      N      N      N         N       N      N        N       N    N   \n",
       "2      N      N      N      N         N       N      N        N       N    N   \n",
       "3      N      N      N      N         N       N      N        N       N    N   \n",
       "4      N      N      N      N         N       N      N        N       N    N   \n",
       "\n",
       "  是否有皮肤病 是否视力不好 是否有过破产记录  \n",
       "0      N      N        N  \n",
       "1      N      N        N  \n",
       "2      N      N        N  \n",
       "3      N      N        Y  \n",
       "4      N      N        N  "
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#将家庭成员相关字段取出来并进行翻译\n",
    "data23_35 = chinese(data_01[feature_dict.变量名[23:36].tolist()])\n",
    "data23_35.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "prepared-courtesy",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "字段名: 是否有关节炎\n",
      "--------------\n",
      "字段数据类型: object\n",
      "--------------\n",
      "频数: N    38369\n",
      "Y     5297\n",
      "Name: 是否有关节炎, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: 是否有糖尿病\n",
      "--------------\n",
      "字段数据类型: object\n",
      "--------------\n",
      "频数: N    40554\n",
      "Y     3112\n",
      "Name: 是否有糖尿病, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: 是否有抑郁症\n",
      "--------------\n",
      "字段数据类型: object\n",
      "--------------\n",
      "频数: N    41674\n",
      "Y     1992\n",
      "Name: 是否有抑郁症, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: 是否有高血压\n",
      "--------------\n",
      "字段数据类型: object\n",
      "--------------\n",
      "频数: N    38102\n",
      "Y     5564\n",
      "Name: 是否有高血压, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: 胆固醇含量是否过高\n",
      "--------------\n",
      "字段数据类型: object\n",
      "--------------\n",
      "频数: N    37395\n",
      "Y     6271\n",
      "Name: 胆固醇含量是否过高, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: 是否有呼吸疾病\n",
      "--------------\n",
      "字段数据类型: object\n",
      "--------------\n",
      "频数: N    40900\n",
      "Y     2766\n",
      "Name: 是否有呼吸疾病, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: 是否有心脏病\n",
      "--------------\n",
      "字段数据类型: object\n",
      "--------------\n",
      "频数: N    41733\n",
      "Y     1933\n",
      "Name: 是否有心脏病, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: 是否有过敏性鼻炎\n",
      "--------------\n",
      "字段数据类型: object\n",
      "--------------\n",
      "频数: N    36824\n",
      "Y     6832\n",
      "Name: 是否有过敏性鼻炎, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 10\n",
      "字段名: 是否有消化不良\n",
      "--------------\n",
      "字段数据类型: object\n",
      "--------------\n",
      "频数: N    37381\n",
      "Y     6285\n",
      "Name: 是否有消化不良, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: 是否耳聋\n",
      "--------------\n",
      "字段数据类型: object\n",
      "--------------\n",
      "频数: N    42082\n",
      "Y     1584\n",
      "Name: 是否耳聋, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: 是否有皮肤病\n",
      "--------------\n",
      "字段数据类型: object\n",
      "--------------\n",
      "频数: N    41161\n",
      "Y     2497\n",
      "Name: 是否有皮肤病, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 8\n",
      "字段名: 是否视力不好\n",
      "--------------\n",
      "字段数据类型: object\n",
      "--------------\n",
      "频数: N    38399\n",
      "Y     5267\n",
      "Name: 是否视力不好, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: 是否有过破产记录\n",
      "--------------\n",
      "字段数据类型: object\n",
      "--------------\n",
      "频数: N    40599\n",
      "Y     3067\n",
      "Name: 是否有过破产记录, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n"
     ]
    }
   ],
   "source": [
    "#调用自动探索特征频率函数\n",
    "fre(data23_35)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "id": "appreciated-awareness",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['N', 'Y']"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# data23_35[data23_35.columns[0]].unique()\n",
    "# x[i] = data23_35[data23_35.columns[0]]\n",
    "list(data23_35[data23_35.columns[0]].value_counts().index)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "id": "atlantic-backing",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "range(0, 2)"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "range(data23_35[data23_35.columns[0]].nunique())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "id": "south-commons",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "是否有关节炎       object\n",
       "是否有糖尿病       object\n",
       "是否有抑郁症       object\n",
       "是否有高血压       object\n",
       "胆固醇含量是否过高    object\n",
       "是否有呼吸疾病      object\n",
       "是否有心脏病       object\n",
       "是否有过敏性鼻炎     object\n",
       "是否有消化不良      object\n",
       "是否耳聋         object\n",
       "是否有皮肤病       object\n",
       "是否视力不好       object\n",
       "是否有过破产记录     object\n",
       "dtype: object"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data23_35.dtypes"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "general-stanford",
   "metadata": {},
   "source": [
    "#### 0-1转码函数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "id": "sitting-musician",
   "metadata": {},
   "outputs": [],
   "source": [
    "#0 1转码函数\n",
    "def zero_one(x):\n",
    "    for i in x.columns:\n",
    "        if x[i].dtype == 'object':\n",
    "            dic = dict(zip(list(x[i].value_counts().index),range(x[i].nunique())))\n",
    "            x[i] = x[i].map(dic)\n",
    "    return x"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "liked-optimization",
   "metadata": {},
   "source": [
    "#### 相关性分析及热力图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "id": "unsigned-adapter",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>是否有关节炎</th>\n",
       "      <th>是否有糖尿病</th>\n",
       "      <th>是否有抑郁症</th>\n",
       "      <th>是否有高血压</th>\n",
       "      <th>胆固醇含量是否过高</th>\n",
       "      <th>是否有呼吸疾病</th>\n",
       "      <th>是否有心脏病</th>\n",
       "      <th>是否有过敏性鼻炎</th>\n",
       "      <th>是否有消化不良</th>\n",
       "      <th>是否耳聋</th>\n",
       "      <th>是否有皮肤病</th>\n",
       "      <th>是否视力不好</th>\n",
       "      <th>是否有过破产记录</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>是否有关节炎</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.446458</td>\n",
       "      <td>0.414955</td>\n",
       "      <td>0.632994</td>\n",
       "      <td>0.638905</td>\n",
       "      <td>0.478167</td>\n",
       "      <td>0.403263</td>\n",
       "      <td>0.669722</td>\n",
       "      <td>0.670945</td>\n",
       "      <td>0.356717</td>\n",
       "      <td>0.432069</td>\n",
       "      <td>0.570546</td>\n",
       "      <td>0.040062</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>是否有糖尿病</th>\n",
       "      <td>0.446458</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.306319</td>\n",
       "      <td>0.499331</td>\n",
       "      <td>0.485837</td>\n",
       "      <td>0.341276</td>\n",
       "      <td>0.360596</td>\n",
       "      <td>0.447038</td>\n",
       "      <td>0.453943</td>\n",
       "      <td>0.273800</td>\n",
       "      <td>0.283378</td>\n",
       "      <td>0.386641</td>\n",
       "      <td>0.047519</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>是否有抑郁症</th>\n",
       "      <td>0.414955</td>\n",
       "      <td>0.306319</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.393726</td>\n",
       "      <td>0.403696</td>\n",
       "      <td>0.379312</td>\n",
       "      <td>0.315257</td>\n",
       "      <td>0.411868</td>\n",
       "      <td>0.432201</td>\n",
       "      <td>0.275739</td>\n",
       "      <td>0.303972</td>\n",
       "      <td>0.346339</td>\n",
       "      <td>0.035685</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>是否有高血压</th>\n",
       "      <td>0.632994</td>\n",
       "      <td>0.499331</td>\n",
       "      <td>0.393726</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.719111</td>\n",
       "      <td>0.441706</td>\n",
       "      <td>0.436309</td>\n",
       "      <td>0.648784</td>\n",
       "      <td>0.651767</td>\n",
       "      <td>0.348651</td>\n",
       "      <td>0.397823</td>\n",
       "      <td>0.562810</td>\n",
       "      <td>0.038754</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>胆固醇含量是否过高</th>\n",
       "      <td>0.638905</td>\n",
       "      <td>0.485837</td>\n",
       "      <td>0.403696</td>\n",
       "      <td>0.719111</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.446039</td>\n",
       "      <td>0.426180</td>\n",
       "      <td>0.681824</td>\n",
       "      <td>0.690814</td>\n",
       "      <td>0.353627</td>\n",
       "      <td>0.413284</td>\n",
       "      <td>0.633716</td>\n",
       "      <td>0.034380</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             是否有关节炎    是否有糖尿病    是否有抑郁症    是否有高血压  胆固醇含量是否过高   是否有呼吸疾病  \\\n",
       "是否有关节炎     1.000000  0.446458  0.414955  0.632994   0.638905  0.478167   \n",
       "是否有糖尿病     0.446458  1.000000  0.306319  0.499331   0.485837  0.341276   \n",
       "是否有抑郁症     0.414955  0.306319  1.000000  0.393726   0.403696  0.379312   \n",
       "是否有高血压     0.632994  0.499331  0.393726  1.000000   0.719111  0.441706   \n",
       "胆固醇含量是否过高  0.638905  0.485837  0.403696  0.719111   1.000000  0.446039   \n",
       "\n",
       "             是否有心脏病  是否有过敏性鼻炎   是否有消化不良      是否耳聋    是否有皮肤病    是否视力不好  \\\n",
       "是否有关节炎     0.403263  0.669722  0.670945  0.356717  0.432069  0.570546   \n",
       "是否有糖尿病     0.360596  0.447038  0.453943  0.273800  0.283378  0.386641   \n",
       "是否有抑郁症     0.315257  0.411868  0.432201  0.275739  0.303972  0.346339   \n",
       "是否有高血压     0.436309  0.648784  0.651767  0.348651  0.397823  0.562810   \n",
       "胆固醇含量是否过高  0.426180  0.681824  0.690814  0.353627  0.413284  0.633716   \n",
       "\n",
       "           是否有过破产记录  \n",
       "是否有关节炎     0.040062  \n",
       "是否有糖尿病     0.047519  \n",
       "是否有抑郁症     0.035685  \n",
       "是否有高血压     0.038754  \n",
       "胆固醇含量是否过高  0.034380  "
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "zero_one(data23_35).corr().head()\n",
    "#做相关性分析，可以删掉一些字段"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "id": "interested-rabbit",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x29daed17cc0>"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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NJlMTJs2jYyMDLMMPchdHPrtt982mzXk4ODA5cuXuXHjBq1atQLg4sWL/PzzzwwePNisi5z3vJycHM6fP098fDwRERFMnjyZefPm8c477/Dll18qq60sW7YMyJ11BLlrY7722mtMnDiRtm3bEhgYiIuLC+PHjycxMRGtVktkZCSVK1fGxcWFjIwM/P39JflcCFHiWOO68+bNm7N8+XLmzJnDmTNn8PX1JSgoiIYNG9K8+f9Wa+nduzdTpkxhwIAB3L9/nwkTJjwxRs3mBe9JAayFCV/NC0xdunQpR48e5fTp02bfKNasWcO9e/eA/GvANW/enJiYGOV+QkICgwYNeuRxZ2VlceDAASZNmkTlypXZtm0bkLvKip+fH4cOHSI4OJhu3brx3nvvMXToUL744gtcXV2V9TMrVapEYGAgvXr1YuHChUrbAwcOZN68eVSrVq3Q76cQQvxZrLGWplarZdOmTRw5coTOnTvTqFGjAvdzcXEx+9y0hM0KnqUBrIMGDbI4fDU7O5vFixdz7do1qlSpwvDhw816Z4mJiYwcORLIn0Kwb98+HB0d2bNnD1evXuWll14iOzsbo9Go9PrymEwmKlWqxLlz58jIyODnn3/m73//O5AbWTRv3jwyMjJo3ry5cvI1MzMTV1dXHBwc0Gg0mEwmrl69yqpVq0hOTiY4OJgdO3ZQtmxZLl++zLhx43BwcODmzZvs3bsXT091lwwTQojistbKYs7OznTq1En1dm1W8AobwGpJ+Or169fR6XQsW7aM7t27ExwcnK+HlycnJ4evv/4aZ2dnunTpohQ4rVbLzZs3efnll8nJyVHGhC9dukS/fv1ISkri6tWrVK9enVdeeYUvv/ySPXv2sHXrVgBKly7NF198wfTp0/nPf/7D559/joODA2fPnmXAgAGUKlUKo9HIF198QUJCAr169SI+Ph6NRkNAQADt2rWjRYsWeHt74+/vj6+vb5HW1BRCCGvTylqahWNpAKsl4as1a9Zk1qxZyv3H9fCysrLo378/bdu25c6dO7Rs2RLIPbEaGRlpNslEr9dTr149QkJCGDFiBN988w09e/akWrVqtGvXjpYtWyqzLBs0aMDp06d58cUX+fjjjwHYs2cP6enpVKxYkYULFyrnGytUqEBSUhIVKlRQerlLlizh/fff58SJE+j1uau421sEhxDi6WBvn002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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 解决中文乱码问题\n",
    "plt.rcParams['font.family'] = ['SimHei']\n",
    "sns.heatmap(zero_one(data23_35).corr(),cmap='Blues')\n",
    "#相关性特别高的可以二选一，但也不能删除得太多，否则对决策树的生成不好"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "noted-insulin",
   "metadata": {},
   "source": [
    "#### 自定义函数筛选相关性高于0.65的字段"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "id": "institutional-cancellation",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "3"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "True+True+True"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "id": "imperial-decline",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>是否有关节炎</th>\n",
       "      <th>是否有糖尿病</th>\n",
       "      <th>是否有抑郁症</th>\n",
       "      <th>是否有高血压</th>\n",
       "      <th>胆固醇含量是否过高</th>\n",
       "      <th>是否有呼吸疾病</th>\n",
       "      <th>是否有心脏病</th>\n",
       "      <th>是否有过敏性鼻炎</th>\n",
       "      <th>是否有消化不良</th>\n",
       "      <th>是否耳聋</th>\n",
       "      <th>是否有皮肤病</th>\n",
       "      <th>是否视力不好</th>\n",
       "      <th>是否有过破产记录</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>是否有关节炎</th>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>是否有糖尿病</th>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>是否有抑郁症</th>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>是否有高血压</th>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>胆固醇含量是否过高</th>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>是否有呼吸疾病</th>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>是否有心脏病</th>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>是否有过敏性鼻炎</th>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>是否有消化不良</th>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>是否耳聋</th>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>是否有皮肤病</th>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>是否视力不好</th>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>是否有过破产记录</th>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>False</td>\n",
       "      <td>True</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           是否有关节炎  是否有糖尿病  是否有抑郁症  是否有高血压  胆固醇含量是否过高  是否有呼吸疾病  是否有心脏病  \\\n",
       "是否有关节炎       True   False   False   False      False    False   False   \n",
       "是否有糖尿病      False    True   False   False      False    False   False   \n",
       "是否有抑郁症      False   False    True   False      False    False   False   \n",
       "是否有高血压      False   False   False    True       True    False   False   \n",
       "胆固醇含量是否过高   False   False   False    True       True    False   False   \n",
       "是否有呼吸疾病     False   False   False   False      False     True   False   \n",
       "是否有心脏病      False   False   False   False      False    False    True   \n",
       "是否有过敏性鼻炎     True   False   False   False       True    False   False   \n",
       "是否有消化不良      True   False   False    True       True    False   False   \n",
       "是否耳聋        False   False   False   False      False    False   False   \n",
       "是否有皮肤病      False   False   False   False      False    False   False   \n",
       "是否视力不好      False   False   False   False      False    False   False   \n",
       "是否有过破产记录    False   False   False   False      False    False   False   \n",
       "\n",
       "           是否有过敏性鼻炎  是否有消化不良   是否耳聋  是否有皮肤病  是否视力不好  是否有过破产记录  \n",
       "是否有关节炎         True     True  False   False   False     False  \n",
       "是否有糖尿病        False    False  False   False   False     False  \n",
       "是否有抑郁症        False    False  False   False   False     False  \n",
       "是否有高血压        False     True  False   False   False     False  \n",
       "胆固醇含量是否过高      True     True  False   False   False     False  \n",
       "是否有呼吸疾病       False    False  False   False   False     False  \n",
       "是否有心脏病        False    False  False   False   False     False  \n",
       "是否有过敏性鼻炎       True     True  False   False   False     False  \n",
       "是否有消化不良        True     True  False   False   False     False  \n",
       "是否耳聋          False    False   True   False   False     False  \n",
       "是否有皮肤病        False    False  False    True   False     False  \n",
       "是否视力不好        False    False  False   False    True     False  \n",
       "是否有过破产记录      False    False  False   False   False      True  "
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "(data23_35.corr()>0.65)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "id": "intimate-raise",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['是否有关节炎', '是否有高血压', '胆固醇含量是否过高', '是否有过敏性鼻炎', '是否有消化不良']"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def high_cor(x,y = 0.65):\n",
    "    data_cor = (x.corr()>y)\n",
    "    a = []\n",
    "    \n",
    "    for i in data_cor.columns:\n",
    "        if data_cor[i].sum()>=2:\n",
    "            a.append(i)\n",
    "    return a#这些是考虑删除的-----某个字段有2个及以上跟其他字段相关性>0.65\n",
    "\n",
    "high_cor(data23_35) \n",
    "#最终决定删除'是否有关节炎' '胆固醇含量是否过高'是否有过敏性鼻炎'"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "small-virtue",
   "metadata": {},
   "source": [
    "### 探索投资相关字段"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "id": "chemical-inquiry",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>是否有过破产记录</th>\n",
       "      <th>是否大学毕业</th>\n",
       "      <th>是否用过保险服务</th>\n",
       "      <th>是否投资过寿险</th>\n",
       "      <th>是否购买过医疗险</th>\n",
       "      <th>是否有投资</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Y</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>N</td>\n",
       "      <td>Y</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  是否有过破产记录 是否大学毕业 是否用过保险服务 是否投资过寿险 是否购买过医疗险 是否有投资\n",
       "0        N      N        N       N        N     N\n",
       "1        N      N        N       N        N     N\n",
       "2        N      N        N       N        N     N\n",
       "3        Y      N        N       N        N     N\n",
       "4        N      Y        N       N        N     N"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#将家庭成员相关字段取出来并进行翻译\n",
    "data35_41 = chinese(data_01[feature_dict.变量名[35:41].tolist()])\n",
    "data35_41.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "id": "working-wrong",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "字段名: 是否有过破产记录\n",
      "--------------\n",
      "字段数据类型: object\n",
      "--------------\n",
      "频数: N    40599\n",
      "Y     3067\n",
      "Name: 是否有过破产记录, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: 是否大学毕业\n",
      "--------------\n",
      "字段数据类型: object\n",
      "--------------\n",
      "频数: N    39236\n",
      "Y     4422\n",
      "Name: 是否大学毕业, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 8\n",
      "字段名: 是否用过保险服务\n",
      "--------------\n",
      "字段数据类型: object\n",
      "--------------\n",
      "频数: N    42793\n",
      "Y      873\n",
      "Name: 是否用过保险服务, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: 是否投资过寿险\n",
      "--------------\n",
      "字段数据类型: object\n",
      "--------------\n",
      "频数: N    35871\n",
      "Y     7795\n",
      "Name: 是否投资过寿险, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: 是否购买过医疗险\n",
      "--------------\n",
      "字段数据类型: object\n",
      "--------------\n",
      "频数: N    40016\n",
      "Y     3650\n",
      "Name: 是否购买过医疗险, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: 是否有投资\n",
      "--------------\n",
      "字段数据类型: object\n",
      "--------------\n",
      "频数: N    33896\n",
      "Y     9770\n",
      "Name: 是否有投资, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n"
     ]
    }
   ],
   "source": [
    "fre(data35_41)\n",
    "#是否大学毕业与之前的学历重复"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "electric-cassette",
   "metadata": {},
   "source": [
    "#### 相关性及热力图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "id": "handmade-conference",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x29daedf3240>"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbEAAAFMCAYAAABF3IJ2AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nOzdeVyU5f7/8dfAMAICrihoWoh1TD0eSk1cUnMNM3EljUhKtBTNpZ9wtNDABeOEpqECpongwVxIvlm5H+1oLiVqJyO3XEAJTSACB2dhfn9wvHUOqIOKeNfn2WMeD+a+r7nmM7fG2+u6r7lvjcVisSCEEEKokF11FyCEEELcLQkxIYQQqiUhJoQQQrUkxIQQQqiWhJgQQgjVkhATQgihWhJiQgghVEtCTAghxANhNBoZPXo0Bw4cuG27xMREBg0axKhRo/j1119v21Z7PwsUQgjx51FYWEhhYWG57W5ubri5uVltM5lMjBs3jpycnNv2mZGRwc6dO1m/fj0HDx5k4cKFzJo165btJcRUwOmp8dVdQqXkHYyr7hIqRaOp7goqr8Roru4SKs1ebQdaZeVe51rj3ibYKvP7Jub1vxAXV/7/9/HjxzNhwoRy22fNmsWHH3542z737t1L//79sbe3x9fXl7lz5962vYSYEEKIGzS2h+DIkSMZNGhQue3/OwoD0Gq1eHh43LHP4uJiWrZsWVaKRsPVq1dv215CTAghxA2VGDFXNG14r1xcXNDr9crzoqKi27aXhR1CCCFu0NjZ/qgCPj4+7N+/H4CzZ89Sp06d27aXEBNCCHGDRmP74x4tXbqUffv2WW3r2LEjp06dYvbs2UyePJmgoKDblyu3Ynn4ycKOqqW29QYgCzseCJWVe909L+zoMNXmtvoD/7in97oVg8HAzp07cXd3p23btrdtK+fEhBBC3FBF04SVodPpeP75521qKyEmhBDiBpWNmCXEhBBC3PAQjMQqQ0JMCCHEDTISE0IIoVoyEhNCCKFadvbVXUGlSIgJIYS4QUZiQgghVMtOXefEHorINRqNlJaWVncZFBYWPhR1CCFEtanmy05V1n2twmg03tX+bdu2MW3atFu+btOmTWRnZ5fbnpqayvz582/5upsvRhIcHExxcfFt6wsODub777+vcN/p06c5cuQIUPY5TCbTLfsxGo3o9XrkYihCCNV5gJeduh9snk4MCwsjMzMTFxcXZZvBYMDJyYmUlBQAIiIiOHfuHFqtFovFQkZGBt7e3tSuXZvS0lJcXV2Jj48HIDIyUrlS8bFjx6hRowZ///vflb5LS0sZNmwY7du3p6CggBkzZrBixQqrmhwdHdFqb3yES5cuMX/+fDIyMmjVqhUNGzbE29ubtLQ0Tp8+zahRo9BoNCxcuJAGDRqQlZXF5MmTcXJyAqCgoICIiAhq166NxWKhuLiYzz77DCj7BvnMmTOZNGkSly9fJi0tDc1//xCLiopo164dM2fOVD5PTEwMOp3Oql6LxcK5c+fYtWuXrYddCCEerD/qwg6tVovZbMZsvnHNNrPZbBUi8+bNA8ru4BkVFUV+fj5paWlYLJZyv9BDQkKwt7cnOzubjIwMli5datWXyWSidu3aALz88sscPnyYH3/8kWnTplGjRg0A8vPzKSkpYdu2bSQkJNCoUSPmzZvH8OHD+eCDD7C3t2fx4sVMmjSJFStWsGjRIkaPHk2DBg0AaNKkCevXr2fjxo3odDr69esHwMqVK6lduzYDBw5U6mnSpAmJiYn8+OOPBAQEEBAQoOw7cOAA27dvV577+PjwwgsvlBt5Xrt27Y73xhFCiGr1kEwT2srmEDMajfTu3ZtmzZop2/Lz89m2bZtVu+PHjxMREYFGo8HNzY0jR44QHh7OqFGjGDZsmBJmjRs3xmKxMGPGDPR6PVOnWl90Mjg4mL59+2I0GtFoNMTGxgKQnJyM0WikXr16pKenc/78eas7iB4/fpwGDRpQUlKCTqcrN6UXFhZW7rM9/fTThIaG0rdvXzQaDWvXriUhIUHZv3v3brZu3QrAe++9d9vjZDKZsFgsdOjQoVyInT17Fnd3d+Uz3RzaQgjxUHhIpgltZfNv0aCgIC5evGi1zcPDQwmQkydPEh8fz9GjR5kyZQpeXl5ERUXRvn17EhISiI2NZcWKFcTGxuLj4wPAokWL2L17N99++63VjdUSExPJy8sDym5VHRcXx/Hjxzl06BCpqalcuXKF6dOnV1jnkiVLOHnyJK+//jovvPACxcXFzJ49m9zcXEaOHMnf/vY3WrduDZRN+13vx2KxMHjwYIxGIzk5OYwfPx6LxUJkZCQdOnTgqaeeIjAwEHt7e/R6PSNHjlTes6ioiE6dOgHw9ddfs3z5chwcHJT9hw4d4umnn1amH1977TWCg4Pp1auXrYdfCCEejD/aSOzUqVOEhYXh7Oys/BI+c+YMXl5eSpvY2FgCAwPp0KED0dHR6HQ6MjMzlf2PP/448fHx7N69m6ZNm2I2m1mwYAEnT56kSZMmjB49Gju7GwcuNzeXsWPHAtC9e3e6d+9O79690el0DBw4kAEDBjBlypRytW7ZsoXTp0/Tp08fnnzySfLz8ykuLuapp57ilVdeoaioiE2bNint9Xo9LVu2JDo6usLPfn0Up9FocHR0xM7ODjs7O7RaLTVq1CA5ORmAH374gb179wLQo0cPmjZtypYtWxg3bhwajYauXbsSFxdHjRo1WLx4MUFBQdSvX/9Oh14IIR68P9pIrHnz5qSlpbF//36ys7MZOnQo/v7+yi9ws9mMRqNRQsjX15dGjRoprx88eDBQFkzXf9GfOnWKwsJCPvroIwYMGMCyZcvKjcRupWHDhixevBhHR8dy+5599llcXV05cOCAsu3SpUsMGzaMrVu3otfrefbZZ5V9eXl5t71rqOYWf5j/u71169bK6A6gWbNmFBUVkZiYSN++fQGYPn06+fn59OjR477fzlsIIe6bP9pI7Lr09HQaN26sPA8ODsZisWA2mxk3bpwynabValm7dm258z1du3ZVfm7evDlRUVHK89uNxCrSrl07rl27Rm5urrLIA8DZ2RlnZ2fS09PZunUrQUFBXL58mR49evDxxx9jMpmsRnAHDx7kqaeesvUQAGVfB7h8+XK57UVFRcrKTTs7O/r168fixYu5cuUKAB06dGD37t0MHz683CIXIYR4aPwRVyf+9NNPHDx4EE9PTwwGA3q9nvT0dKs2FotFGZENGTLE5gIsFku5kdjixYutRjvbt2/H0dGRdevW8dxzz1G/fn1mzpzJiRMniImJserPaDTi7+9Px44d+eqrr3jiiSfIycnh2rVrGI1GLly4QNOmTcnNzWXnzp1MmjTJpjqLi4u5ePEiq1evZsGCBaxZs8Zqf0xMDD4+PrRs2ZKIiAjq16/P1KlT8fb25ssvv2T48OG4u7sTGBhI586dCQwMxNPT0+bjJIQQD8QfbSSWl5dHaGgokZGR+Pr6snHjRry8vPDz88NisaDX6yksLCQkJITQ0FDMZjMbNmwoNxLr3Llzhf3/7wq+Dz74gC1btrBkyRIAduzYwdatW/n88885cOAA4eHhZGVlodFoMBqNjB49GqPRSExMDJ06daJp06b07t2b1q1bs3nzZvz8/Bg/fjyzZs1Cr9fz5ptvEh0dzYULF3jzzTetvvd2O1evXqVXr17MnDkTR0dHXF1d8fPzw9XVFZPJREFBAaGhodSrV4+IiAjatGkDwMiRI6lTpw5arZa+ffvSuXNnkpKSbjuNKYQQ1UZl58Q0FhsuK5GTk2PzqOHKlSvUq1fvrgsqLS21mlqEsvNu9vZ3P8Q1GAzKFN7NPz8Iv/zyCw0bNrzl+TVbOD01/j5WVPXyDsZVdwmVorL/ZwEoMZrv3OghY6+2A62ycq9zrXFvIykn/4Q7N/ovffob9/Re94NN04mVmfa6lwADygUYcE8BBliF1oM+H+Xh4fFA308IIe6Jyv6xId+2FUIIccMf7ZyYEEKIPw9NBbNhDzMJMSGEEIp7OX9fHSTEhBBC3KCuDJMQE0IIcYOMxIQQQqiWhJgQQgjVquhrTg8zCTEhhBA3qGsgJiEmhBDiBplOFPed2i7jVPcZdV0m69L+RdVdQqVl5+mru4RKc7BX1zRV6Z2vyPdQetKz5j29XkJMCCGEakmICSGEUC0JMSGEEKqlsZMQE0IIoVIyEhNCCKFaVRViiYmJfPXVV9StW5f333+f+vXrl2uTm5vL9OnTMRgMAMTExNzxVmDqWi4khBCiamlsfxQWFpKdnV3uUVhYaNVlRkYGO3fuZP369YSEhLBw4cIK3zopKYkXX3yR5ORkXnrpJRITE+9YrozEhBBCKCozEktKSiIurvxXgMaPH8+ECROU53v37qV///7Y29vj6+vL3LlzK+yvXr16nDhxAr1ez9GjR2nWrNkda5AQE0IIoahMiI0cOZJBgwaV2+7m5mb1vLi4mJYtWyr9X716tcL+/Pz8eOedd0hOTuby5csEBQXdsQYJMSGEEIrKXDvRzc2tXGBVxMXFBb3+xhf0i4qKKmwXFxdHeHg4LVq0oLCwkDfffJN//vOft6/X5mqFEEL88VXinJitfHx82L9/PwBnz56lTp06FbYrKiri2LFjAOzfv9+mUaGEmBBCCIVGo7H5YauOHTty6tQpZs+ezeTJkwkKCmLp0qXs27fPqt24ceNYvXo1f/vb31iwYAFTpky5Y98ynSiEEEJRFUvs7e3tWbVqFTt37sTPz4+2bdtW2K5FixakpaVVqm8JMSGEEIqq+p6YTqfj+eefv+/9ynTifxkMBq5du6Y8P3/+fDVWI4QQ1UNjp7H58TBQRYgZjca72m8ymRg8eLBVON1s3759REdHA5CcnMx7772nbA8JCcFkMt3yPYuLi3nxxRdtqF4IIdSjKs6JVaVqn04MCwsjMzMTFxcXZZvBYMDJyYmUlBQAIiIiOHfuHFqtFovFQkZGBt7e3tSuXZvS0lJcXV2Jj48v17dWq+WXX36hRo0aFb5327Zt+eSTTzh69Civvvoq0dHRGAwG4uLimDNnDlrtjcPz888/M2/ePBITEzGZTDg4OODg4IDJZGLTpk3UqFEDPz8/q/537drFokWLSEtL45lnnmHz5s3UrVv3fhw2IYSoEg9LONmq2kNMq9ViNpsxm83KNrPZbBUg8+bNA8pGVlFRUeTn55OWlobFYkGn0922f0dHxwq35+bmKt8onzNnjrL9pZde4syZM/zjH/8AYPXq1Tg4OKDT6Th8+DCDBw/GbDYzd+5czp8/z9tvv02fPn3o0aNHufeoXbs2Tk5OANSsWRNnZ2dbDokQQlQbCbFKMhqN9O7d2+ryIvn5+Wzbts2q3fHjx4mIiECj0eDm5saRI0cIDw9n1KhRDBs2DJ1Oh8FgoE+fPri6uipf2Lt06RL+/v5AWTgWFhaSkJCAq6srNWrUIDk5+Za19e7d2+oPtH379ixZsoSrV6+i1Wpp2rSpcg2w6xesLCoq4o033mDlypXUqFFDqeP68DsjI4P58+cro0whhHioqCvDqj/EgoKCuHjxotU2Dw8PZZR08uRJ4uPjOXr0KFOmTMHLy4uoqCjat29PQkICsbGxrFixgtjYWHx8fNi1a5fSz+nTp3nhhReIi4ujSZMmVu9hMBiIjIxk3bp1rFmzRhklmc1mSkpKmDBhAitWrMDe3h6AixcvcurUKSZOnEhpaSlz587lt99+Y/fu3ZSWlvL+++/zxRdf4OLigp2dHbt376Zx48blPu+ePXtuubxUCCGqm4zEbHTq1CnCwsJwdnZWDtqZM2fw8vJS2sTGxhIYGEiHDh2Ijo5Gp9ORmZmp7H/88ceJj49n9+7dNG3atNx7/N///R/dunUjKSmJd99912qfTqejWbNmNGvWjGHDhgFw6NAh3n33XXx8fGjVqhUNGjSweq9p06bRuXNndDodw4cPZ8GCBZw6dQqNRsPixYuVwBs0aBCfffYZ48ePt3pPi8XCV199ZdOVmYUQojrYPSSrDm1VbSHWvHlz0tLS2L9/P9nZ2QwdOhR/f39les9sNqPRaJTpOF9fXxo1aqS8fvDgwUDZua29e/eW6z8rK4vNmzezceNGRo8eTUZGBk8//bSy32KxYLFYrK4TNn/+fN5++2169eoFQGlpKXZ2duzYsYPFixej1WpZunQpUDa9OXv2bOW1//znP+nTpw+jR4+md+/exMbGUlJSYlXT/v37adSoUblRoRBCPCxkJFZJ6enpVtNuwcHBWCwWzGYz48aNo1OnTkDZApC1a9daLfgA6Nq1a7k+c3NzGT9+PJGRkTg5OTF37lzGjBnDwoUL+ctf/gJAZmYm06dPt1oY8vPPPxMXF6eMlEwmE0uXLqV79+507doVBwcHpa2/vz9r165Vnl+vGcDV1ZVdu3Zx6tQpq7o6duxIu3bt7uo4CSHEg6CyDKveEPvpp584ePAgnp6eGAwG9Ho96enpVm0sFosyIhsyZMht+7t69SqffvopSUlJTJ06FV9fXwCaNm3KrFmzeP3113nttdcIDg6mZcuWbNy40er1o0aNYsaMGTz66KPl+r4+VXjdzaspoexfL1qtVlngcatVky4uLndsI4QQ1UVGYjbKy8sjNDSUyMhIfH192bhxI15eXvj5+WGxWNDr9RQWFhISEkJoaChms5kNGzaUG4l17txZ+fnYsWN8/fXXfPLJJ1bn1qBsZeHq1auZN28e/v7+uLu7K/uuXLnC1q1b+fnnn20OlpKSEkwmU7l60tLSSEpKsurH398fV1dXAgICALh27RoTJ04s970yIYSobirLMDQWi8VSXW+ek5ODp6enTW2vXLlCvXr1qqQOk8nE8uXLad68OT179qyS97gX+ttfsOShU/eZ8Xdu9BC5tH9RdZdQaed+rfimgg8zB3tVXCBIUVp9vxrvyZOeNe/p9S2nb7W57Y9z+9zTe90P1TqdaGuAAVUWYFB2vu2NN96osv6FEEItZHWiEEII1VLbdKKEmBBCCIUs7BBCCKFaEmJCCCFUS2UZJiEmhBDiBlnYIYQQQrVkOlEIIYRqqSzDJMSEEELcICMxIYQQqqWyDJMQUwO1/aVS22WcGvi+Vd0lVNqlfeo6xmpUqs6rTt0zGYkJIYRQLVmdKIQQQrVUNhCTEBNCCHGDTCcKIYRQLZVlmISYEEKIG2QkJoQQQrUkxIQQQqiWrE4UQgihWiobiEmICSGEuEGmE4UQQqiWyjJMQkwIIcQNdipLMbvqLkAIIcTDw85OY/OjMhITExk0aBCjRo3i119/vW3btLQ03nnnHZv6lZGYEEIIRWWyqbCwkMLCwnLb3dzccHNzU55nZGSwc+dO1q9fz8GDB1m4cCGzZs2qsM+srCw++eQTUlNTbavX9nKFEEL80Wk0GpsfSUlJ9OzZs9wjKSnJqs+9e/fSv39/7O3t8fX15ciRIxW+d2lpKVOnTqV58+Zs3LiR/Pz8O9Z7X0diRqMRBweHu95/K5s2bcLHx4dHHnnEantqaio5OTlMmTLFavuJEyeoUaMGjz76aKXfa9myZTz//PM0adKk0q/9X6tWraKwsJDx48ffc19CCPEgVOaU2MiRIxk0aFC57TePwgCKi4tp2bLlf/vXcPXq1Qr7S09PR6PR8Pe//52srCxGjhzJxo0bsbO79XjL5hALCwsjMzMTFxcXZZvBYMDJyYmUlBQAIiIiOHfuHFqtFovFQkZGBt7e3tSuXZvS0lJcXV2Jj48H4PDhw4SGhipBc+zYMVq1agXAL7/8wpgxYxgxYgQABQUFzJgxgxUrVljV5OjoiFZb/iMsX76cF198kbS0NHbs2IGrqysAOTk5vPfee3Tv3p2cnBwGDhxIkyZNcHJyIjk5mX379pGamsrhw4eJi4uzOnCzZs3iu+++o7S0lB49elC/fn2SkpKoW7cueXl5DBo0iNDQUKV9Tk4OixcvpkGDBhw4cED5HG3atGHOnDm2HnYhhHigNNieYv87bXgrLi4u6PV65XlRUVGF7f7zn/8wbNgwGjZsSMOGDdHpdJw/f57HHnvsln3bHGJarRaz2YzZbFa2mc1mqxCZN28eACaTiaioKPLz80lLS8NisaDT6az60+l0dO3aVXlN7969lTnQJUuWWPX78ssvc/jwYX788UemTZtGjRo1AMjPz6ekpIRt27aRkJBAo0aNyM3N5eeff6ZLly5kZGQQFhZG165dAfjoo4+UYNLpdLRt25bBgwfz22+/kZOTQ0JCAuvWrWPXrl1MmjSJiIgI3N3dgbJh7rx58ygsLOTf//43NWrUYNy4cfj7+7Ns2TJq1aql1JudnU1oaChBQUF8++23JCYmkp2dzeTJk3nrLfXdgFEI8edRFRfs8PHxYfPmzfTv35+zZ89Sp06dCtt5e3tz+vRpAH799Vd++eUXPDw8btu3zSFmNBrp3bs3zZo1U7bl5+ezbds2q3bHjx8nIiICjUaDm5sbR44cITw8nFGjRjFs2DAlzOzs7NizZw/BwcEAXLp0Sfn5woULjB07VnlfjUZDbGwsAMnJyRiNRurVq0d6ejrnz59nwoQJyvvHxMTg6OgIQP369VmyZAkRERG4ublRs2ZNOnXqBNz4Qt8XX3xBQEAAEyZMoKioSHlfDw8PAgMDmTRpEv369UOj0fDuu+9iMpl49tlnldenpqZy5MgRZsyYodRw4sQJwsPD6dSpExs3buTll1/GwcGBuLg4GjZsaOshF0KIB64qLjvVsWNH4uLimD17NocOHSIoKIilS5fi4+NDx44dlXZDhgzh3XffZfjw4RQUFDB16lTl9/mt2BxiQUFBXLx40Wqbh4eHEiAnT54kPj6eo0ePMmXKFLy8vIiKiqJ9+/YkJCQQGxvLihUriI2NxcfHB4vFQpcuXaxGYitXrgTKRmLX7d27l7i4OI4fP86hQ4dITU3lypUrTJ8+vVyNn332GS4uLly6dAkoG8G9/PLLzJkzh169etGhQ4dyr3FwcOD06dPMmTMHLy8vNBoNWq2W4uJiSktLlRGh2WwmOjqa/Px8/v3vfwNlgerp6Ym7uzsxMTF8+OGHFBUVUbduXS5cuEBERATHjh2jU6dOZGZmsmDBAlq3bo2Hhwdt2rS5L+fdhBDifqqK74nZ29uzatUqdu7ciZ+fH23btq2wnaOjIx988EGl+r5jiJ06dYqwsDCcnZ2V0ceZM2fw8vJS2sTGxhIYGEiHDh2Ijo5Gp9ORmZmp7H/88ceJj49n9+7dNG3aFCibcvz666+V8165ubnKz7/88osSjt27d6d79+707t0bnU7HwIEDGTBgQLnFHADt2rWjd+/ejB07lsTERLZv387Vq1e5cOECX375JU2bNsVoNDJhwgT++te/AjB69GiWLFmCRqPB1dWV8ePHs2HDBiZMmMCYMWOUfyUYDAamTp2K0WikR48eAHTt2pVLly4xYsQIVq1aBZSNTlesWEHr1q0ZNGgQAQEBxMbGsnLlSrKysjh69CgnTpzgb3/7W2X+nIQQ4oGoqu8663Q6nn/++fve7x1DrHnz5qSlpbF//36ys7MZOnQo/v7+JCcnA2UjFI1Go5xr8vX1pVGjRsrrBw8eDJSF1N69e5XtBQUFDBs2jMmTJwPlz4ndSsOGDVm8eHGFQ8wmTZpgMpkAGDNmDKNGjeKVV16hc+fOXLx4kbfeeksJpby8PABKSko4d+4cvr6+fPPNNzzyyCOcOXOGy5cv88wzzyh9//rrr3z66accPXpUGYk9+uijHDx4kC+//JJu3bopNYSEhBAVFcXXX39Nfn4+RUVFBAUFAXDx4kXS09OtFsgIIcTD4g977cT09HQaN26sPA8ODsZisWA2mxk3bpxyrkmr1bJ27dpyqwavL6647vvvv1dWI1ZWu3btuHbtGrm5ucoij4rMnz+fvn37cuHCBQYOHEhMTAyRkZG0adNGaZOUlMSYMWNo0aIFS5cuJSAggKysLFq1aoW9vb3S7vfff68wOP38/FiyZAkTJ05UtrVp04b169cD8OqrrzJ9+nQ6d+4MwHPPPYezs/NdfW4hhKhqKssw20Lsp59+4uDBg3h6emIwGNDr9aSnp1u1sVgsyohsyJAht+3v2rVrbNmyhddff13Zdv17A99//z3fffcdAQEByr7t27fj6OjIunXreO6556hfvz4zZ87kxIkTxMTEWPVdWlqKxWJhwYIFFBcXM3XqVObMmYOrqyv/+Mc/GDduHGFhYTz11FMAfPDBB8qqy+nTp1OrVi1SUlLo0qULBoMBrVbL0aNHeeSRRzAYDGRnZ2Nvb09paSkAX3/9NX/5y19YuHAhEydOVL4Hd+nSJaKjo3Fzc1MCrLCwEK1We9vvPAghRHWyV1mK3THE8vLyCA0NJTIyEl9fXzZu3IiXlxd+fn5YLBb0ej2FhYWEhIQQGhqK2Wxmw4YN5UZi13+RQ9nU4vDhw61GJNenFQ0GAz169FDOO+3YsYOtW7fy+eefc+DAAcLDw8nKykKj0WA0Ghk9ejRGo5GYmBg6deqE2WzGZDIxcuRIZRmnyWTCZDLRvHlzPvvsMxwdHZXFHwB79uzh448/thp5AaxZs4Z33nmH33//XVmKv3LlSmbNmsV//vMfdu/eTceOHRk1ahQLFizg9OnTPPHEE0yaNImsrCyGDx+uBPqsWbOszgEKIcTDSG3TiRqLxWK5U6OcnBw8PT1t6vDKlSvUq1fvngu7mdlsLhcwD7P7fQxKTPetqwfCaC6t7hIqpYGv+r67d2nfouou4Q+v9I6/GR9OtZzubaYnMLniS0JVZHWQzz291/1g03SirQEG3PcAA1QVYFA1x0AIIR4EtY3E5Cr2QgghFCrLMAkxIYQQN8hITAghhGrZV8XFE6uQhJgQQgiFuiJMQkwIIcRNquLaiVVJQkwIIYRCZRkmISaEEOIGWdghhBBCtVSWYRJiQgghbpDVieK+KzGaq7uESsnO01d3CZWixks4NeiovktlTf/HpOouoVIWrT5U3SXclcufvHRPr5fpRCGEEKqltntsSIgJIYRQyEhMCCGEaqnslJiEmBBCiBtkYYcQQgjVUlmGSYgJIYS4QWWnxCTEhBBC3CDXToZZ0K8AACAASURBVBRCCKFassReCCGEaqlsICYhJoQQ4gZZnSiEEEK1VJZhEmJCCCFukIUdQgghVEtlGSYhdjf0ej329vbodLrqLkUIIe4rtU0nVttqSqPRWKn9L774ok39rlu3jry8PAAMBgPBwcEUFBRU2HbTpk1kZ2eX256amsr8+fNv+R5ffPEFixZV7vYdy5YtIysrq1KvEUKIB01Tif8eBlUyEgsLCyMzMxMXFxdlm8FgwMnJiZSUFAAiIiI4d+4cWq0Wi8VCRkYG3t7e1K5dm9LSUlxdXYmPj1de7+zsrPz81ltvcebMGQCeffZZwsLClH2enp6EhISwYMECUlJSyM/PZ8yYMdjb25Obm0u3bt2YOXMmAAUFBcyYMYMVK1ZY1e/o6IhWa31o3n33Xa5cuYJGo+HChQuYTCZ+/vlnAMxmMz179iQgIICcnBwGDhxIkyZNcHJyIjk5mX379pGamsrhw4eJi4vDzk5t38QQQvxZaFX266lKQkyr1WI2mzGbb9zM0Ww2WwXDvHnzADCZTERFRZGfn09aWhoWi8Vqmu7LL78kKSmJkydP4u/vT1xcHOfPn2fRokVcvnyZlJQU9uzZg6+vL1qtli5dutCyZUtMJhM1a9bks88+o1u3bnz66ads376dbt26KX2//PLLHD58mB9//JFp06ZRo0YNAPLz8ykpKWHbtm0kJCTQqFEjJk6cSGlpKQ4ODnz44Yc888wzdOrUCSgL6Jo1awKg0+lo27YtgwcP5rfffiMnJ4eEhATWrVvHrl27mDRpEhEREbi7u1fFoRdCiHsit2KhbCqwd+/eNGvWTNmWn5/Ptm3brNodP36ciIgINBoNbm5uHDlyhPDwcEaNGsWwYcPQ6XT069ePfv36MWLECFJTU/n8889p3bo1Xl5euLu706VLF86dO0fnzp0BKCkpITw8nDfffJNJkyaxatUqnnnmGSIiIpg+fTqPPvqoUqNGoyE2NhaA5ORkjEYj9erVIz09nfPnzzNhwgSl1kuXLhEVFYWdnR3Hjh3jxIkTrF69GoDS0lIWLlyIq6ur8hfgiy++ICAggAkTJlBUVMTYsWMB8PDwIDAwkEmTJtGvX7+qOPxCCHHX1HZOrEpCLCgoiIsXL1pt8/DwUELh5MmTxMfHc/ToUaZMmYKXlxdRUVG0b9+ehIQEYmNjWbFiBbGxsfj4+AA3pv6aNWvGjz/+SEBAgNL3O++8g0aj4erVq4wcOZLg4GB+//13Xn31Vdq0acO8efPIzMwkJiaGnJwcoqOjuXz5MnFxcRw/fpxDhw6RmprKlStXmD59ernP88MPP5CRkcGLL75ISUkJZ8+epX///lZttmzZgo+PD02aNAHAwcGB06dPM2fOHLy8vNBoNGi1WoqLiyktLS03XSmEEA8DlQ3E7m+InTp1irCwMJydnZURyZkzZ/Dy8lLaxMbGEhgYSIcOHYiOjkan05GZmansf/zxx4mPj2f37t00bdqUDRs2kJKSQnFxMX369KFTp04cO3aMSZMm4enpydChQ3niiSeAsvNm8+bNY8aMGVy9ehWLxcLBgwcJDAxU+k9KSqJOnToAdO/end69e6PT6Rg4cCADBgxgypQp5T6Xu7s7Pj4+2NvbExYWxowZM3jssccAmD17Nm+++Sa1atWiQYMGymtGjx7NkiVL0Gg0uLq6Mn78eDZs2MCECRMYM2YMHTt2vH8HXggh7pOq+p5YYmIiX331FXXr1uX999+nfv36t20/efJknn32WQYPHnzbdvc1xJo3b05aWhr79+8nOzuboUOH4u/vT3JyMlB2Xkyj0SgLG3x9fWnUqJHy+uvF5ubmsnfvXgA6d+5Mv379eP311+nSpQsAvXr1Yu3atTRo0IBBgwbh5OSk9OHt7U1hYSGff/45er2e9evXExQUBIC/vz+1atWqsPaGDRuyePFiHB0dK9zn7u5OZGQkLVq0ICUlRfkMp06dIi4uDqPRyPLly7FYLEDZtOa5c+fw9fXlm2++4ZFHHuHMmTNcvnyZZ5555u4PshBCVCH7SizsKCwspLCwsNx2Nzc33NzclOcZGRns3LmT9evXc/DgQRYuXMisWbNu2e+XX37Jzp07efbZZ+9YQ5XMaaWnp9O4cWPleXBwMBaLBbPZzLhx45QFEVqtlrVr15abWuvatavys4eHR7n++/TpQ3x8PDqdjjVr1pTbX1paCsB3333HgQMHeOGFF6hbty729vaYTKZbfr+rXbt2XLt2jdzcXGWRB8CFCxf4+9//zlNPPcXQoUM5c+YMAwYMAOCNN94gMjJSqfP68v6kpCTGjBlDixYtWLp0KQEBAWRlZdGqVSvs7e3vfBCFEKIa2FVi6XxSUhJxcXHlto8fP95qTcHevXvp378/9vb2+Pr6Mnfu3Fv2efnyZZYvX86IESNsquG+h9hPP/3EwYMH8fT0xGAwoNfrSU9Pt2pjsViUEdmQIUNu219JSQmHDx/GZDJhNBo5fPgwa9as4bHHHsPOzo6xY8fSsWNHunTpgre3N1C28nHPnj3Mnz+fmJgYkpOT2b59OwMGDKCoqIi6desCsH37dhwdHVm3bh3PPfcc9evXZ+bMmZw4cYKYmBilhjNnziijyqtXr/Lee+/h5+eHg4MDJpOp3GcD+OCDD5QVmtOnT6dWrVqkpKTQpUsXDAYDWq1WltoLIR46lZlNHDlyJIMGDSq3/eZRGEBxcTEtW7b8b/9l6xduZebMmUybNo19+/bZVMN9DbG8vDxCQ0OJjIzE19eXjRs34uXlhZ+fHxaLBb1eT2FhISEhIYSGhmI2m9mwYUO5kdj1lYZQtkBi3bp1vPbaa/z222+sXr2aESNG4OvrC5RN523atAkoW3E4ZcoULly4QNu2bUlMTMTd3Z2JEyfy6quvkpSURGRkJAsXLmTHjh1s3bqVzz//nAMHDhAeHk5WVhYajQaj0cjo0aMxGo3ExMQo05hQdt4tNTUVBwcH3n33XfLz862mKA0Gg/Lznj17+Pjjj8uNvNasWcM777yj/KEKIcTDojKrE/932vBWXFxc0Ov1yvOioqIK261btw5vb2/atWtnc4hpLNeHDvdJTk4Onp6eNrW9cuUK9erVu59vj16vtzpHdjtms1kVU3sFevOdGz1EsvP0d270EHm0nvOdGz1kGnR8q7pLqLTp/5hU3SVUyqLVh6q7hLty+ZOX7un1ifvP2dx2jO+jNrXbs2cPmzdvZvbs2Zw9e5Y333yTzZs3l2v3xhtvUFhYiFar5cKFC+h0OqZOnUrPnj1v2fd9n060NcCA+x5ggM0BBqgiwIQQ4kGqisWJHTt2JC4ujtmzZ3Po0CGCgoJYunQpPj4+Viu1ExISlJ8/+ugjGjdufNsAA7kAsBBCiJtUxU0x7e3tWbVqFTt37sTPz4+2bdve8TU3Lwy5HQkxIYQQiqpabqbT6Xj++efve78SYkIIIRRy7UQhhBCqpa4IkxATQghxk6q67FRVkRATQgihUFeESYgJIYS4iZ3K7sUiISaEEEKhtovhSYgJIYRQyOpEcd/Zq+wvlUNl7uXwELhYUEKj2uVvwfMwU9slnADmTv2wukuolPD3J1Z3CdVCXb9tJMSEUF2ACVGVZCQmhBBCtdQ28yMhJoQQQqGuCJMQE0IIcROVDcQkxIQQQtxgp7KxmISYEEIIhYzEhBBCqJZGRmJCCCHUSlYnCiGEUC2VZZiEmBBCiBskxIQQQqiWnBMTQgihWiq7E4uEmBBCiBvkzs5CCCFUS6YT/0QsFovqrvgshBC3o7bpxPt64yej0WjTfovFwrVr15TH9e0ffvghv//+e7nXlZaW2lzDpk2byM7OLrc9NTWV+fPn29zPzfVWxGQy0bdvX8xms019LVu2jKysrEq9vxBCPGiaSvz3MLB5JBYWFkZmZiYuLi7KNoPBgJOTEykpKQBERERw7tw5tFotFouFjIwMvL29qV27NqWlpbi6uhIfH8+lS5cYNmwYbdu2paSkBGdnZ959913279/PpEnlb/a3atUqtm3bhp1d+cw1m8388MMPfPPNN7i4uFBQUMCMGTNYsWKFVTtHR0e02hsf95dffuGFF17gr3/9a4Wf12KxYDKZSExMpGbNmgB88sknfPnll8roKz8/n2HDhqHVajEajfj7+9O3b18GDhxIkyZNcHJyIjk5mX379pGamsrhw4eJi4ur8HMIIcTDQG2TSzaHmFarxWw2W408zGazVTDMmzcPKBulREVFkZ+fT1paGhaLBZ1OZ9VX69atGThwIO7u7iQlJZGenk5hYSEBAQEAnD9/nuXLl9OqVSuCg4N55ZVXWLBgAa+//jr16tVj3LhxzJkzh0OHDvHFF18o4fryyy9z+PBhfvzxR6ZNm0aNGjWAssApKSlh27ZtJCQk4OjoiLe3NytXriQvL4/33nuP6OhoJbAMBgMODg5oNBq+++47jh07RkFBAePGjeO5554rd3xKS0sxmUz8/vvvtG3blsGDB/Pbb7+Rk5NDQkIC69atY9euXUyaNImIiAjc3d1t/kMSQogHRWUZZnuIGY1GevfuTbNmzZRt+fn5bNu2zard8ePHiYiIQKPR4ObmxpEjRwgPD2fUqFEMGzYMnU6njGQ2bNjA8OHDKS4u5quvvmLp0qU0adIEOzs7pkyZgoODg9KvyWSiZ8+ehIaGsmzZMk6cOEGdOnV45JFHGD9+vFKjRqMhNjYWgOTkZIxGI/Xq1SM9PZ3z588zYcIEAPLy8gC4evUqb7/9NiaTiSFDhmAwGGjatCkGg4H333+fJk2a0LJlS+bOnUvbtm3RaDSMHDkSvV6Pvb09UBZgRqORFStWKJ/tiy++ICAggAkTJlBUVMTYsWMB8PDwIDAwkEmTJtGvX79K/FEJIUTV+8NediooKIiLFy9abfPw8FBC4eTJk8THx3P06FGmTJmCl5cXUVFRtG/fnoSEBGJjY1mxYgWxsbE0bdoUAAcHB5ydnXF2diY2NpaIiAiioqJo0qQJJpNJCQmTycTYsWNp3749SUlJaDQa6tWrB0CLFi2Uevbu3UtcXBzHjx/n0KFDpKamcuXKFaZPn37Lz1VQUMDQoUN54YUXWL58OXq9XgnF65ydnVm7di1RUVHodDqSkpIAKCkpYdWqVezYsYPJkydTu3ZtJRwdHBw4ffo0c+bMwcvLC41Gg1arpbi4mNLSUqsRrBBCPDTUlWF3DrFTp04RFhaGs7OzMso4c+YMXl5eSpvY2FgCAwPp0KED0dHR6HQ6MjMzlf2PP/448fHx7N69m6ZNm2KxWICykZyrqysA9vb2NGrUiG+//ZaLFy9iMpmsRmIff/wxSUlJ/Prrr/z+++88+uijyj6TyYSdnR3du3ene/fu9O7dG51Ox8CBAxkwYABTpky55efbs2cP69evZ82aNfz888/UqlWLAwcOUFpaSps2bQgPD2f79u0sXrwYk8nEwIEDldcePXqUnTt3kpSUhKOjo1W/o0ePZsmSJWg0GlxdXRk/fjwbNmxgwoQJjBkzho4dO97p0AshxAP3sCzYsNUdQ6x58+akpaWxf/9+srOzGTp0KP7+/iQnJwNl58U0Go2yWMHX15dGjRoprx88eDAAubm57N27V/kZykZBLi4uaLVa5s2bh7OzM1u3bsXd3V0533b58mUmTpyonFP7+uuvOXHiBPXq1SM4OFipISQkhG7dulnV3rBhQxYvXlwuYG4WEBBAQEAAV65cYciQIbi6ujJy5Eh69eqltPH29mb+/PksX77c6lyWs7Mznp6eFfZfUlLCuXPn8PX15ZtvvuGRRx7hzJkzXL58mWeeeeZOh10IIaqFymYTbZ9OTE9Pp3Hjxsrz4OBgLBYLZrOZcePG0alTp7IOtVrWrl1bbrqsa9euys9169ZlwIABfPbZZ3zzzTfMnTuXgwcP4uTkRJMmTVi5ciUXL17EwcEBd3d3/vnPfyqv/eGHH3j77bcJDw+nbt26tGzZ8rZ1t2vXjmvXrpGbm6ss8rhZUVER27ZtY/ny5URERPD0008TFRXF6tWriY6OxsPDQxl1njt3zuoY3E5SUhJjxoyhRYsWLF26lICAALKysmjVqpUyTSqEEA8blWWYbSH2008/cfDgQTw9PTEYDOj1etLT063aXP/ir52dHUOGDLltf3Z2dqxfv56xY8cqqwNHjRql7J8wYQJDhw61GuHo9XpSU1PZtGkTy5Ytw2AwMGvWLNzd3QkPD1dGSNu3b8fR0ZF169bx3HPPUb9+fWbOnMmJEyeIiYkpV8vevXv517/+pSwqAViwYAHLli2juLhYaXf8+HGrEafBYCAnJ6fccvnrU6UffPCBsppz+vTp1KpVi5SUFLp06YLBYECr1cpSeyHEw0dlKXbHEMvLyyM0NJTIyEh8fX3ZuHEjXl5e+Pn5YbFY0Ov1FBYWEhISQmhoKGazmQ0bNpQbiXXu3Fn5ecuWLbRr1462bdvSsmVLli9fruw7d+4cr732Gj169FDOly1YsIDdu3czcOBAPv30U+VcWVJSEmlpaYSEhLB+/Xq+/vprtm7dyueff86BAwcIDw8nKysLjUaD0Whk9OjRGI1GYmJi8Pb25vTp06SmpgJl33H7X19//TWvvPIKffv2ZfXq1bz22mtW++bNm8e0adOsXmMwGJSf9+zZw8cff1xu5LVmzRreeeedO44ihRDiQVPbtRM1lutDh9vIycnB09PTpg6vXLmirBy8X4qKiqhZs+YtL/FkNBqVYDObzfdtuq60tBSLxVLt03+/l9h+xZKHwcWCkuouoVIa1b71OdOH1Yd7fq7uEipt7tQPq7uESgl/f2J1l3BX3uvz+D29PuNsoc1tn37M7Z7e636waTrR1gAD7nuAAVZXCanIzasY72fgyHSfEOJPp4oGYomJiXz11VfUrVuX999/n/r165drU1RUxP/7f/8Pg8HAb7/9xuzZs3nyySdv26/8lhZCCKGozLUTCwsLyc7OLvcoLLQezWVkZLBz507Wr19PSEgICxcurPC909PTGTBgACtWrCA0NJSPPvrojvXKN26FEEIoKnNKLCkpibi4uHLbx48fr1wIA8oW0PXv3x97e3t8fX2ZO3duhf0FBgYqP1+5coUGDRrcsQYJMSGEEIrKhNjIkSMZNGhQue1ubtbnyoqLi5WFbBqNhqtXr96237y8PD755BM+/vjjO9YgISaEEEJRmSt2uLm5lgusiri4uKDX65XnRUVFt2xrNBp5++23efvtt60unHErck5MCCGEQqOx/WErHx8f9u/fD8DZs2epU6dOhe3MZjNvv/02PXv2pGfPnjb1LSEmhBBCoanEw1YdO3bk1KlTzJ49m8mTJxMUFMTSpUvZt2+fVbsNGzawa9cuvvjiC0aMGMHbb799x75lOlEIIcQNVbDE3t7enlWrVrFz5078/Pxo27Zthe2uX8u2MiTEhBBCKKrqKvY6nY7nn3/+vvcrISaEEEJhp66rTkmIqYLK/lKV3vlKZg+VUnWVC8Ci1Yequ4RKU9tlnN4Pr/gLuQ+79/qU/95Wpajs942EmBBCCMUf7qaYQggh/jxUdhF7CTEhhBA3qCzDJMSEEELcRGUpJiEmhBBCobabYkqICSGEUKgrwiTEhBBC3ExlKSYhJoQQQiFL7IUQQqiWyk6JSYgJIYS4QUJMCCGEasl0ohBCCNWSkZgQQgjVUlmGSYhdZzQasbe3x85ObnYthPjzUttI7A/3G9toNN7V/m3btjFt2rTbvvbFF1+0qYZ169aRl5cHgMFgIDg4mIKCApteK4QQ1UtTiUf1U9VILCwsjMzMTFxcXJRtBoMBJycnUlJSAIiIiODcuXNotVosFgsZGRl4e3tTu3ZtSktLcXV1JT4+HoDIyEj0ej0Ax44do0aNGvz9739X+i4tLWXYsGG0b98eAGdnZ2XfW2+9xZkzZwB49tlnCQsLU/Z5enoSEhLCggULSElJIT8/nzFjxmBvb09ubi7dunVj5syZVXSUhBDi7slNMauQVqvFbDZjNpuVbWazGa32xseYN28eACaTiaioKPLz80lLS8NisaDT6az6CwkJwd7enuzsbDIyMli6dKlVXyaTidq1a/Pll1+SlJTEyZMn8ff3Jy4ujvPnz7No0SIuX75MSkoKe/bswdfXF61WS5cuXWjZsiUmk4maNWvy2Wef0a1bNz799FO2b99Ot27dqvhICSHE3VHbdKKqQsxoNNK7d2+aNWumbMvPz2fbtm1W7Y4fP05ERAQajQY3NzeOHDlCeHg4o0aNYtiwYUqYNW7cGIvFwowZM9Dr9UydOtWqn+DgYPr27Uu/fv3o168fI0aMIDU1lc8//5zWrVvj5eWFu7s7Xbp04dy5c3Tu3BmAkpISwsPDefPNN5k0aRKrVq3imWeeISIigunTp/Poo49W8ZESQoi7I0vsq1BQUBAXL1602ubh4cGECRMAOHnyJPHx8Rw9epQpU6bg5eVFVFQU7du3JyEhgdjYWFasWEFsbCw+Pj4ALFq0iN27d/Ptt9/i5uam9JuYmKic17quoKCAGTNm0KxZM3788UcCAgKUfe+88w4ajYarV68ycuRIgoOD+f3333n11Vdp06YN8+bNIzMzk5iYGHJycoiOjqZVq1ZVdaiEEOLuqCvD1BFip06dIiwsDGdnZzT/HeueOXMGLy8vpU1sbCyBgYF06NCB6OhodDodmZmZyv7HH3+c+Ph4du/eTdOmTTGbzSxYsICTJ0/SpEkTRo8ebbUyMTc3l7FjxwKwYcMGUlJSKC4upk+fPnTq1Iljx44xadIkPD09GTp0KE888QRQdt5s3rx5zJgxg6tXr2KxWDh48CCBgYFK30lJSdSpU6dKj5kQQtwNlWWYOkKsefPmpKWlsX//frKzsxk6dCj+/v4kJycDZefFNBqNEkK+vr40atRIef3gwYOBsmDau3cvUBaMhYWFfPTRRwwYMIBly5aVG4ld17lzZ/r168frr79Oly5dAOjVqxdr166lQYMGDBo0CCcnJ6W9t7c3hYWFfP755+j1etavX09QUBAA/v7+1KpVqyoOkxBC3DM5J1aF0tPTady4sfI8ODgYi8WC2Wxm3LhxdOrUCShbALJ27VqrRRoAXbt2VX5u3rw5UVFRyvPbjcQ8PDzK1dKnTx/i4+PR6XSsWbOm3P7S0lIAvvvuOw4cOMALL7xA3bp1sbe3x2QylVtkIoQQDwONylJMNSH2008/cfDgQTw9PTEYDOj1etLT063aWCwWZUQ2ZMgQm/u2WCzlRmKLFy9W/jBLSko4fPgwJpMJo9HI4cOHWbNmDY899hh2dnaMHTuWjh070qVLF7y9vYGyVZJ79uxh/vz5xMTEkJyczPbt2xkwYABFRUXUrVv3PhwVIYS4v9QVYSoJsby8PEJDQ4mMjMTX15eNGzfi5eWFn58fFosFvV5PYWEhISEhhIaGYjab2bBhQ7mR2PXVg//rf78A/cEHH7BlyxaWLFkCgIODA+vWreO1117jt99+Y/Xq1YwYMQJfX1+gbGpy06ZNSl9TpkzhwoULtG3blsTERNzd3Zk4cSKvvvoqSUlJREZGsnDhwvt9mIQQ4p6pbCCGxmKxWKq7CFvk5OTg6elpU9srV65Qr169u36v0tLSe7r8lF6vtzpHdq9+v1Z63/p6ELLz9NVdQqU0qn3//qwelObj1lV3CZUWOuLp6i6hUt4PV+c/NPWH4+7p9XnF5js3+q+6Ne3v6b3uB1WMxACbAwy4pwAD7vn6ifczwIQQ4kFS20hMNSEmhBCi6kmICSGEUC25YocQQgjVkpGYEEII1VJZhkmICSGEuInKUkxCTAghhEJt58T+cHd2FkIIcffsNLY/KiMxMZFBgwYxatQofv3113tup9RbuTKEEEL8oWlsfxQWFpKdnV3uUVhYaNVlRkYGO3fuZP369YSEhNzyikW2truZhJgQQgiFphL/JSUl0bNnz3KPpKQkqz737t1L//79sbe3x9fXlyNHjlT43ra2u5mcE1MB1xrq+rfGk541q7uEP7zLn7xU3SX84b3X594u36RWTg62tx05ciSDBg0qt/3mi6kDFBcX07JlSwDl5sEVsbXdzSTEhBBC3BU3N7dygVURFxcX9Pob11QtKiq6p3Y3U9c/8YUQQqiOj48P+/fvB+Ds2bO3vLO9re1uppqr2AshhFAns9lMYGAgrVu35tChQwwdOpTCwkJ8fHzo2LHjbdsFBgbetm8JMSGEEFXOYDCwc+dO3N3dadu27T23u05CTAghhGrJOTEhhBCqJSEmhBBCtSTEhBBCqJaEmBBCCNWSEBNCCKFaEmJCCCFUS0JMCCGEakmI/QmZzWZ27NhhtS03NxeDwVBNFd0do9HIli1bqruMW7pw4QIXL16s7jJstnnzZkpKSqy2WSwWfvrpp2qq6PbUVu91mZmZ1V3CH4qE2J+QxWJh5cqV5OXlYTKZAFi9ejXLly+v5spuLSgoiA8//JALFy5YbbflfkPV5ejRo6xbt47i4uLqLuWOfv31VxYsWIDJZOLAgQNcvwaC0Whkzpw51VxdeWqrd9asWWRlZQEwbdo05X5bRqOR/Px8Jk+eXJ3lqZpcxf5P5LnnnqNBgwa4u7vj4OBAcnIytWrVYvjw4ezZs4eUlJTqLvGWpkyZwp49exg9ejSNGjVi0aJFODs7o9Ppqrs0KxEREUycOJH69euTm5tL8+bNGThwIGazGQcHB0aMGEFwcHB1l2nFYrEQFRVFixYtAEhISGD27Nm0bt2aLl264OBQiXtzPABqqxfgX//6F15eXnTq1AkPDw/GjBlDSUkJWq0WPz8/HnvsseouUbVkJPYn8uijj9KzZ0/69+8PwLhx49ixYwcTJ07kzTffxNnZuZorLK+goACDwUCrVq144403+OyzzwgKCkKr1WIwGNBoKnmP9Cp29OhRQkJCyMrK4ocffqBNmzZ4eHiwc+dOyxonwwAAIABJREFU1q1bR2pqanWXaCU7O5sJEybQvXt3cnNzcXFxYcWKFSxatAg/Pz8KCgqqu0Qraqv3Og8PD3r16kV0dDShoaFYLBY2btzI+vXrSU9Pf+j+YaMmMhL7E9FoNDg6OvLYY49hsVi4du0aderUoUOHDvTq1au6y6tQ3759qVnzxk02NRoNN1/us1atWtVR1i3VqlWLyMhIpk6diouLC02aNFGC1s3NjWeffbaaK7S2efNmfvrpJ6Kioli7di1ms5mAgAAeeeQRXnrpJQIDA9m+fXt1l6lQW70AhYWFmM1mXnrpJdq3b8+TTz6p7CsoKKBXr14P3d9jNZEQ+5M6dOgQ/fv3x2Kx8P333xMfH0/dunVJT0+v7tKsHDhw4Lb7K7qrbHXSaDQ88sgjmEwmWrZsyWuvvUZWVhb79u2jY8eOvPvu/2/v3sOiqhM/jr+HGQYCRdHEvJXXzNvDppKZQGR4yYxF0FVRUMk0Q0RFS61MUcN8NBFNwkzNVELxluV6LV1NCE1ES6MESUnBCyB35nZ+f/Dj5Ai57a54znHO63l8ljn4x6fvjvOd8z3f8znvSB3Ryvjx4+nSpQuRkZEUFRVhsVhYtWoVJ06cYM+ePXTt2lVWZ7tKywsQERGBwWDgyJEjbNq0idjYWDQaDZs3b+b7778nIiJC6oiKpk5iNqpHjx6sX7+e3377jYSEBGbNmsXYsWPJy8ujadOmUscTBQYG4uTkJLsPptqsWrWKwsJCJk6cyOjRo9m0aRPz5s1j1qxZfPzxxyQkJBATE4OdnbxW8Xv37k2bNm0IDw8nOzubU6dOodPpmDRpEo888oi4+UculJY3Pj6epUuXsnLlSqZMmcKYMWMwGAwEBgby+OOPM3PmTD755BMaN24sdVRFUicxG1O9FFc9Kezfv5/ffvuNS5cusWHDBgmT1W7KlCk0bNgQBwcH8VhlZSUODg4IgsCcOXMkTGfNxcWFvLw8Bg4ciL+/P6dPn8ZkMuHq6spnn33G9OnT2b59O8OGDZM6qpWQkBCGDBnC9OnTSU1N5YcffuDy5cs0aNCAli1b8uqrr0od0YrS8ur1eoKDg3F0dCQtLY3Q0FBWrFiBo6MjXl5e2NnZsWbNGmbPni11VEWS11dCVZ2pqKjAYDCg1+uxt7dHEATi4uIoKCggLCyMpUuXSh2xVs8//zzu7u506NCB33//nVWrVhEWFkaHDh2sri3IQUhICLt27eLAgQMkJyfz7LPPkpqaSmVlJQCzZs2S3cYOgPLyclxcXEhKSuLcuXOEhYUxb948Dh06hJ2dHc8//7zUEa0oLW/1FnqdTkdcXBylpaU4OTnh5+fHK6+8QoMGDfjhhx+kjqlY6pmYjdDpdLz55pu4u7tjMpkwGo3079+ftm3botFouHHjBufOnaNbt25SR63VmDFjsLOzY8iQISxevBitVovRaBQnCLlo1qwZH330Eb/88gstWrRg37594nUwNzc3WrVqRX5+Po0aNZI46R8uX77Mzp07EQSBiooKli9fDlSdtYeFhaHRaFi1apXEKf+gtLyHDh1i2rRpuLq6EhsbS0hICB988AFt2rQR/07z5s3FFQbVf0Z9srMNMpvN/Otf/+KFF14Qj2VkZNC+fXu0Wq2Eyf5cSUkJ9erVszpmMBjYuXMnw4cPlyjVvZWUlFBYWEjLli3FY4IgyO76Xm5uLnq9vtZcgiBgMBh47LHHJEhWO6XlvVt5eTmPPPKI1TGTyYROp55T/DfUSUwFwK5du+jTpw9NmjSROsqfqp4APv30U8aNGye7DRL/jtls5uLFi3Ts2FHqKH/q7NmzNG3aFEdHR9lu+/7ss88YNWoUZWVluLi4SB3nL7NYLLW+Zy9duoQgCLRt21aCVMqnrE8B1f9kwYIFREdHEx0dzaJFi1izZg0ApaWlnD59mhEjRkicsKb9+/djMBgwGAy8/PLLZGVlceDAAdlOYHFxcSQmJpKbm8u0adOYPXs2+/fvx2w2s2LFCvbt2yd1xBq2bdtGSUkJeXl5pKenc/36ddltjrjT7t270Wq1hIaGcuLECanj/GUpKSls2bKFs2fPWi2DHzt2jK+++krCZMomz08CVZ1ITU3F19eXvn37kpycjKenJwDOzs5ERUXRsGFDiRPWVFFRwaFDh9Dr9bz55pucPXtWdstxd9qxYweFhYXMnz+f+vXrExISwo8//oiXlxfnzp2T5T1Bhw8fprS0lIiICOzs7CgqKkKn05GXl0deXp7srjtWLyXqdDpiY2MVUVy9dOlStm7dir29PYsWLSIoKIjNmzcDkJyczMsvvyxxQuVSJzEbUr9+fTw8POjVqxfOzs507tzZ6vdy7JwbPHgwBw8eBMDOzg65r343btyYCRMm4OnpSX5+Pp9//jmnT59m0qRJ6HQ6Wd7GoNPp0Ov14tltXFwc2dnZvPfee7z99tsEBQVJnPAPFosFo9EIVL0fXnzxRcaMGUNkZCSRkZHMmDGjxhMa5ODo0aOMHj2aQYMGAZCUlIRGo2HEiBE4OzvTrl07iRMql3ol0YbceQZT29lMcXHxg4zzb73yyivo9XouX75MYGAgRUVFfPjhh1Z/58+uM0jl1q1b7N69GycnJ65evUr79u3x8PBAo9HQv39/Dh48KMuevDvfD++88w6LFi3i448/BqpKjeXi7n7EMWPG4O7uLvZ+Xr16lejoaF588UWpItZKo9Hg5uaGs7MzGo2G3Nxcrl+/jsFgkP0XM7lTJzEbYTabMZvN4mtBEAgJCRFf3759W1bbvgESExPR6XRcvHiRDh06UFlZyfjx48nIyGDIkCGYTCYqKys5cOCA1FFFY8aMwWg0otFoGDlyJIDVuHt7e0sVrQaj0UhsbCy//fYbJ06csPowrZ7UzGYzCxYskCpiDV9//TWjR48GqrLp9XqeeeYZ8fcdO3aU1Zeaaq1bt2bq1Kl07doVo9FITEwMvr6+TJ06lcjISFJTU63+O1R/nTqJ2QhBEAgMDBRff/bZZ+KW3m3btjFo0CDZ7UZzcnLCbDbz9ttvk5CQwJw5c/jiiy8YPnw4iYmJUser1a1btzCZTFZnNtWTg06ns7qtQWpms5nWrVuj1WpJSUnh/PnzXL58mblz52KxWNizZw8bN25ky5YtsllqvnMb+t3b1KFqSVyOZdaxsbFcuXKF9PR02rVrR0hIiPgeGT58OAkJCeok9l+S31cWVZ3Q6XS4ublx9OhRzGYzjo6O6HQ6dDodTZo0Yfr06bK8QK7VatFqtTg6OqLVamXXi3e3w4cP4+XlxbFjx/D09OSbb77B29sbLy8vWrVqJaulOUdHRwIDA2nZsiXTpk2jS5cuhIaGsnLlSpo1a0bbtm3ZuHGjbCawahaLhaNHjzJu3DiSk5M5c+YMOTk5Usf6t6ZMmcLgwYPJysoiJSVFPN6jRw/ZFUMriXomZiPS09OJiYkhPj6e9957j/T0dPFbrSAIXL16lXnz5vH+++9LnNTaxIkTuXz5MpMnT+bXX3/l+PHjst6daGdnh4uLC1qtlkaNGqHT6XB3d0ev1/P000/LajmxmiAIGI1GLBYLjo6OLFmyhK1bt3LgwAFZPnF40KBBpKWlUV5eTkVFBWlpafztb38jOzsbOzs7xo0bJ6vqKT8/P5ycnLh8+TKjRo2ioKCAo0eP0qJFCwRBwGw2ExoayoABA6SOqkjqzc42IjMzE71eT6tWrXjnnXd46623qF+/vvj7srIyysrKePTRRyVMWdOlS5fEpzdfvXqVDh068Oqrr7J161ZZtossXLgQi8WCRqPBbDZjMBi4efMmJSUltGzZkiFDhtC7d2+pY1p59913mTp1Knl5efzwww88/fTTdOnShZCQEP7xj3/wyiuvSB2xho0bN7J79262bt3KsGHDWL58OU888QQZGRls2bKF+fPnSx2xhhEjRvDFF18AEBAQQEJCAg4ODiQnJ5OUlMSyZcskTqhM6iRmg44ePUrv3r3FyUFpvvnmG1544QVZn5HV5syZM5SUlIj358nRTz/9hJubG02aNOHq1atcunSJPn36SB2rhlOnTtGlSxceeeQRDh06RIcOHXjiiSekjnVPe/fuFbfY79ixgz59+tC0aVMqKyuxt7eX5YYUJVAnMRuVnp6Ou7u71DH+ErPZjEajsfpHfuPGDVlXZO3btw8fHx8cHR3FY4IgkJGRwVNPPSVhstrl5ub+ad9g9QM95aK27sE7HTx4EF9fX1l9yTl16hSdOnWyekq56v5Qp34bEhAQIP783nvvSZjkr7FYLAAEBQXx0ksviRfvBUHg9ddflzLaPd28eZPly5djMpn4/vvvxd2JRqORRYsWSZyudhMnTvzT37355psPMMm9mUwmJkyYACC+H5YsWQJAXl4eWVlZfP7557KawKDq5ubbt29z8OBBEhMTSUpKEv/s2LGDzMxMqSMqlrqxw4Y4Ozuze/duevToIbt/5He7cuUK48ePZ9GiRWg0Gvbv38/Ro0dxdHTk0UcflW3jtyAIREVFiWdb8fHxLFy4kK5du+Lp6Sm7nX7Lly/H3t6egoKCGo8vcXBwoG/fvrLKXL2j1mg0MmvWLDZt2sS5c+cAmDNnDr1795ble0Oj0aDVatmwYQPPP/88iYmJ4q0igYGBxMfHs3//fqljKpJ6JmZjCgoKmDhxIr/99pvUUe6pVatWzJs3j5iYGDIyMoCqe21iYmIkTvbncnJyCA8Px8fHh7y8POrVq8e6deuIjY2t0TQhF82aNaNly5Y4Ojry+OOPW/0BmDlzpuyu1Wg0Guzt7a2u6R4+fJgGDRowfvx42TdgTJgwgaZNm4r/+8Ybb9C/f3+pYymWvN6dqjqTnp5OUVERY8eOZc+ePTRr1kzqSP9W7969Wb9+vfjwwOrHux8+fBij0ciVK1fIy8uTOOUf9u3bx88//4yPjw9QdS0vMDCQmJgYdDodo0aNkt0H7IgRI/D398fV1RU/Pz/8/PwYOHAgfn5+jBkzhieffFKWZzYA2dnZrF69mvz8fD755BNxiVzuqwxQM2NkZKRESZRPncRsQHFxMVFRUZSUlIjH5L4z0WAw8Pbbb7N48WIxq52dHQsWLGD9+vXk5OQwf/58Ro4cybfffitx2irjx49nwYIFREZGUlRUhMViYdWqVXh7e7Nnzx6Kiopk+wGr0WjIz88nOjoab29vTp8+jV6vZ/HixbKbeKFqc4eDgwOOjo7cvn2bvLw80tLSAGSVVxAEZs2aRWZmplX9mOr+UScxG1C/fn22b99O8+bN2bdvH/7+/rJvvgBo164ds2fPtjrWvXt3Nm3aRJs2bVi7di2vvfYav/76q0QJa+rduzfR0dE4OzuTnZ3NkSNHsFgsTJo0iUceeUS2415RUYFer6dx48bs3r2b7t27A1U1Wq1atZI4nTVBEHjrrbdo0qQJoaGhtGnThu3bt7Ns2TJycnJk9UXBbDbj7e1NeXk548aNIycnh5KSEsxmMyUlJVgsFkpKSqy+YKr+M+okZmMqKytZtWqVbJeIqun1ekJDQzl//rx4rLy8XPy5+oNqwIABsnqAY0hICMnJyUyfPp3U1FROnjxJYmIiP//8M1qtVlZZ7xQdHU29evUYN24cTZs2FY8fOXJE3A0oFxqNhvnz56PT6di7dy9Go5FGjRoRGhoq7lSUC51Ox6BBg+jatSvvv/8+HTt2xMPDg/z8fIYNG8bt27cZOnQof//736WOqljy/iRT3VcVFRXiPxZBEHj77bdxdXWlc+fO+Pj4iI+zkIvFixdz6dIl8XVtT56WW/N+eXk5Li4uJCUlYW9vT1hYGOXl5WzcuJH+/fvLqg4J4Pfff2fu3Lm4urqydOlSevbsKd4vJggCjo6OfPnllxKnrMnV1ZWPPvqIwsJCSktLAejfvz/Ozs5iK4bctGzZkjVr1rBixQouXLjAypUrZbXzU6nUm51tSE5ODi1btgTg/PnzlJWVUVBQQGpqKt9++y0TJ05k2LBhEqf8Q3JyMj179mT06NE4ODgQFRVF69atEQSBgIAAdu7cKXXEGnr16oWHh4d4Xab6jPHO13dvZZfS119/TWFhIUFBQVgsFkaMGMG2bdvE3x86dIhDhw4RHR0tm2W6nj170r59e/G1IAhW45yVlcXJkyelilerqKgoXnvtNXFD1bJlyygqKpJlPZbSqJOYCkDszauuxZGTvLw8TCYTbm5u4jfXCxcu0KlTJ4mT1ZSbm4ter6/1A18QBAwGw582Y0jNZDLx3Xff1Thb/Oabb+jbt69EqWrKy8u758Yko9GIm5vbA0z0n7NYLFy6dEl9ovN9oF4TsyE3b9780981bdpUPEuTm6ZNm1JcXGy19NKpUycsFgu3bt2SMFlNjz32GI0aNcLV1RVXV1d+/PFH8ee0tDSr601yU/24nrvJaQIDxL7B6nG9+4/c2y/Onj1LUVGROoHdJ+okZkOmTJnC2LFjOX/+PB988AELFy7k6NGjCILAlStXmDNnDkajUeqYtaqtZmrDhg2yej4XVJUrHz9+XNzuvXLlSgDOnTvHkiVLqKiokDJerRYsWMCVK1cAmD17NkVFRUDVGU1BQYEsH8eilJosqDrDnTRpElA1ppGRkWLLiOp/p27ssBFlZWUArFmzBqi6+XnmzJkcPnyY1atXU1FRwfz582V7ofnOx8YA/PLLL6xbt44tW7ZIlKh28+fPJyAggO+++46EhAR0Oh0pKSksWbKE1atX37O4Virffvstbdq04bnnnuOxxx5jwoQJVFRUoNPpeOmll2jdurXUEUVKq8mCqjPc4uJioOop6u3atcPLywtPT09xl7DJZOL48eNSxlQs9UzMRoSFhZGZmcmUKVOYMmUKmZmZ1K9fX3xislarlXXD9p23BKSlpREREUFMTIxYjyQXzZo1Y/LkyZSWlnLy5EkuX77M0qVLCQsLIz8/n+TkZKkj1vDYY4/h6+tLdHQ0YWFhCILArl27SEpKYvfu3YwdO1bqiCIl1mRB1Y36RqORtWvXMnPmTKBqWfTIkSM0bNhQncD+B+qZmI1Yv349QUFBvPrqqwiCwIIFC/j888/x8fFh8uTJXLt2jcmTJ5OYmCibe8gMBoPVBfyrV6+yfv16fv75Z9asWSO7m3DvVFRUxMGDBykrK6N58+akpqaKT/GV02NNioqKMJvNDB8+HA8PD6vNMoWFhfj6+tKgQQMJE1qrvs0iISEBPz8/4I/3icFgIDMzkzNnzkgZsVa3b9/Gzs6OJUuWiNfC5LLbU+nk8WmleiACAgI4efIkgiDg6elJaWkpiYmJrF69mieffJJp06bJZgKDqg+s69ev4+joSF5eHr6+vnh7e7N27VocHBykjleroqIijh8/TvPmzZkzZw7JycncvHmTHj16MGbMGKnj1RAREYHBYODIkSNs2rSJ2NhYNBoNmzdv5vvvvyciIkLqiLWqrsmKj49n9+7drF69mu7du7N48WIGDBggdbwaLl68iL+/Py4uLoC8qrGUTn7n3ao6k5mZyRtvvMHEiRNp3ry5eJNzQEAA9vb2fPPNN1JHtLJt2zaOHz/OoUOHaNeuHXv27KFjx474+/vL7j6gan379iUtLY1XXnkFACcnJzZt2sSNGzeIioqSOF1N8fHxeHh4sHLlSoKDg0lPT8dgMBAYGMiwYcOYOXOm7HaAgrJqsqCqLq179+6YzWbeffdd2W1IUjJ1ErMh169fB6qWX77++mtxK/imTZsYNGgQc+fOlTihNa1WK/6s0Who164d06ZNY82aNSxatIh//vOfEqar6fLly/Tq1Yvw8HBGjhwJgK+vL3Z2dsyYMYMGDRpQUFAgcUprer2e4OBgRo4cSVpaGqGhoUDVEwO8vLyIjIwUNwPJiZJqsqDq/Tt37lwEQSA7O1tctrVYLGg0GvXM7H8gn7UjVZ378ccfGTlyJG5ubhQXF3PhwgUEQaCsrIzk5GTq1atH586dpY5Zq+qnPEPVs8bi4+MZOXIkXbp0kc3mjsrKSr788ktWrFghLncKgsCxY8fEn1NSUkhISJAyppXqLfSffPIJcXFx+Pv74+TkhJ+fH4IgEB0dzQ8//CB1TJFSa7LMZjNarZaoqCjCw8Px9fUlJycHHx8fNBoNXl5efPnll7KrUVMEQWUzZs2aJQiCIGRkZAgRERHC4MGDhRMnTghnzpwRTp48KeTl5Umc8M/5+PjUOLZu3TohNDRUgjT3lpubK0yfPl2YN2+eUFxcLJhMJsFkMgkGg0EoLy+XOp6VrVu3CsePHxcEQRDKy8uFYcOGCVlZWVZ/Jzw8XKioqJAiXg1fffWVsGnTJsFisQgmk0kYOnSo1e8PHjwovPXWW4LFYpEoYU1Go1H8tycIgjB9+nRh69atEiZ6uKi1Uzbkxo0bNGnSRHx94MABvL29cXR0lDDVX3P3TkWoKtv96aef6Nmzp0Sp7m3Xrl14eHjQokULqaP8ZeXl5TXuZTOZTLLa8FNNKTVZd7t48SLnz58Xd1cCxMXFiTdEq/4z6iRmY3Jzc/+0uy85OVlW27/vdvbsWR5//HEaNmwodZR7UuIYWyyWWu+vunTpEoIg0LZtWwlS1a60tNTqnkbh/5dsvb29gT+W7uRs+PDhJCYmiu+HHj16yGrZVknUjR02Rq3rqXtKGuNqKSkpbNmyhbNnz1JZWSkeP3bsGF999ZWEyWp67rnniIyMJCsrC6iagNeuXQtU9YMOHTpUdk9RDg4OJjQ0lODgYFJTU3FwcMBisbB69WqgZiON6q+T3xqBqk6odT11T4ljDLB06VJycnLo06cPixYtwmQyERAQwKhRo0hOTmbGjBlSR7TStWtXBg0aJPZ8arVa8f2wZMkSQkJCZHcmVl5eTmlpKf7+/uIOVTs7OzG3HOvIlEI9E7MRal1P3VPqGB89epTRo0eLj+FJSkpCo9EwYsQInJ2dZde2rtVq6dmzJx07drQ6/vPPP3P9+nWGDBkiUbI/p9fr0ev1uLq6Wh2vbu1Q2zv+e+qZmI1Q63rqnlLHWKPR4ObmhrOzMxqNhtzcXK5fv47BYJDl/UvC/z+VPCMjg8aNG9O6dWtu3rxJfn6+Ym4izsrKYsiQIQiCwIABA2jTpo3UkRRLfl8LVXWquq4nOjoab29vTp8+jV6vZ/HixbL8wKqu61m+fDmjRo0iKChI6kj/ltLGuHXr1kydOpW5c+diNBqJiYmhS5cu7NixA4DU1FSJE1qrfjr2zp072bhxI2PHjuXWrVssWLBAtnVkd2vbti07d+5k165dDBw4kH79+kkdSbHUMzEbc3ddT3XbgZzretq2bUtGRgbz5s1DEATZf9tW2hjHxsZy5coV0tPTadeuHSEhIeLZ7vDhw0lISOCZZ56ROKW1/Px8wsLC2LhxIy4uLjz55JPMmDGDqVOnkpiYKLtrYsXFxQiCQGZmJp06dUIQBHbs2EFubi6nT5+WbUelEqhnYjZGreupe0obY6h6YOrgwYPJysoiJSVFPN6jRw/eeecdCZPVJAgC69ev58033+TTTz9l//79aDQaunTpwqBBg9i8ebPUEWvo3Lkz7u7uXLt2jWbNmgHQokULcnJyuHbtGt9//73ECZVLvU/MRtxd1+Pu7q6Iup5Ro0axefNmMjIyCA8PZ+/evXh6eqLX69FoNJjNZtnU9ShxjP38/HBycuLXX3/lqaeeoqCggLKyMlq0aCE+OiY0NFRWzfCjR49m48aNGI1GJk2axNq1axk/fjzr1q2joqKCoKAgcSlUrgIDA9m+fTtQtSFl8uTJbN682epLj+ovepD1ICrpqHU9dU+JY1xt+PDh4s9DhgwRa6ZOnDghTJ8+XapYNVgsFmHDhg3i6+pKr6CgIPHY8uXLhdLSUini/WUXL160en3r1i2JkiifeiZmg9S6nrqntDHeu3evuMV+x44d9OnTh6ZNm1JZWYm9vb0sbw24082bN3n00UeljqGSgDqJ2ZBTp07RqVMnq8oepVHreuqWUqq9Lly4gL29vXijs729Pfb29jg4OFCvXj2p46keIHV3og1JSkpiypQpnDhxgvz8fKsdXHZ2dri7u8vuxtbg4GDs7e0xGo2Eh4db1fX07t1bdnU9iYmJ6HS6WnfHOTk50bdvX1mV6ZpMJsLDw4mLixOrvebOnYuXl5fU0e4pNDSU5557DqPRiMViwWQyYTabuXXrFh4eHsyePVvqiKoHRN5rBKr7SqPRoNVq2bBhA7dv3yYuLo78/Hzi4uLIzc3ljTfekDpiDeXl5RQWFtKvXz9F1PXEx8dz/fp14uLiuHbtGrGxseTm5nLt2jUSExNJTEyUOqKVe1V7+fj44OPjg6enp8Qpa3r88cdZtmwZsbGxhISE4ObmRrdu3di2bRsHDx6UOp7qAZLPV0LVAzVhwgRxy/eRI0d44403KC8vlzpWDXq9HovFopi6nmbNmjFp0iRSU1OZNGkSx44d4/XXXwfg3LlzVuW6cnFntdcnn3wCVFV7bd++HX9/f3bt2iVxwj+UlJRQr1498f/3nJwcfv/9d27evMmMGTPEL2kq26FOYjbs7gkgMjJSoiR/nVLqemqbZLt16yZVnHtSUrXXp59+SkpKCiUlJVy5coX33nuP5s2b07BhQ65cuSKrJ32rHgx1ErMBgiAwe/ZssrKyZPeIiv9U27Zt2bhxI1DVGi+3D6wff/yRAQMGcP36dQYMGEBubi4DBgxAEATKysqYPn06AQEBUse0Ul3t5eLiAiDLG8irRUREMGbMGHbt2sXMmTP58MMPsbOzY/HixbJcSVDVPXUSswFmsxlvb29++uknxo0bR0VFBSUlJZjNZkpKSrBYLJSUlADIbmeX0up6unTpwpYtWxg3bhzr168nKCiILVu2SB3rnpRU7WUymVi4cCE6nY4mTZoQGxuLIAjUq1ePnj17sn79esrKyggLC5M6quoBUScxG6DT6Rg0aBDHjh18kNQLAAAE10lEQVRj6NChxMfH4+HhQatWrRg2bBgAQ4cOxWg0cvjwYYnTWuvcuTM6nY5r166J91e1aNGCU6dOiXU9cnpS8t3LiHJdlrtTdbVXUFAQ2dnZDBw4ELCu9pLLf4fFYqGsrIwpU6ZQUFCAk5MTLi4u1KtXj127dpGWlsaSJUukjql6gNRJzMa0bNmSNWvWsGLFCi5cuMDKlStl+aDGah988IHV67KyMnr16kWvXr1kWdeTnZ3N7Nmz+fXXX5k9ezbZ2dnExMTQtWtXPD09cXR0lDpiDWazGa1WS1RUFOHh4fj6+pKTk4OPjw8ajQYvLy/ZVHtB1Y7UGzdusH37dnQ6HQUFBdy+fZtHH32UiRMnynKMVXVHvdnZhkRFRfHaa6+JBaTLli2jqKiI+fPnS5zsr8vMzLS6ly0/P182H64AZ86cQa/XY2dnhyAImEwmCgsLSU9P5+DBg4wYMYKRI0dKHVNkMpl49913iY6OBqo29zz77LPiGbrcGAwG+vXrR7du3Wpcu/Pz8yMpKQkPDw/ZFi2r7j91ErNhFouFS5cuye4G54eVwWAgLy9Plo9jqaaEaq+8vDxx9aB6udNkMtGoUSPs7OzYt2+fWKGlevipk5iNUkq9kJIpdYyVVO2l1DFW3T9qY4eNMJlM4rfp6nqhc+fOSZzq4aLUMQ4ODiY0NJTg4GBSU1Otqr0AWVV7KXWMVXVH3dhhI+5VL1Rd4WQymTh+/LiUMRVNqWNcXl5OaWkp/v7+sq/2UuoYq+qOeiZmQ+6sF5o5cyZQVS905MgRGjZsqP7Dvw+UOMZ6vR69Xq+Yai8ljrGq7qhnYjZESfVCSvUwjLHcq70ehjFW3T/qJGZDlFQvpFQPwxjLvdrrYRhj1f2jLifakO7du9O9e3fMZjPvvvuubKuFlEyJY1xcXExJSQmZmZkAYrXX6tWrOX36NEOGDJE4oTUljrGq7qiTmA2prhcSBIHs7Gw6deoEWNcLqf43Shzjzp074+7uzrVr18Qb4Vu0aEFOTo5Y7SUnShxjVd1R7xOzIaNGjWLz5s1kZGQQHh7O3r178fT0RK/Xo9FoMJvNsqoXUqKHYYwDAwPZvn07gCyrvR6GMVbdP+o1MRthMpnEaxsdO3akW7du7Ny5k5SUFImTPTweljG+s0D3qaeeYuvWrbKZEB6WMVbdP+pyoo3Q6XRiPx7ApEmTcHBwsPo7cXFxDzrWQ+VhGeO7a8jkMoHBwzPGqvtHncRsVPv27dm8eTMAycnJAKxdu1bKSA8ddYzrnjrGKnU50YYEBwdjb2+P0WgkPDzcql6od+/esqoXUip1jOueOsaqO6lnYjakvLycwsJC+vXrJ/t6IaVSx7juqWOsupN6JmZD9Ho9FotFMfVCSqSOcd1Tx1h1J3USs2Fyrxd6GKhjXPfUMbZt6iRmw+ReL/QwUMe47qljbNvUScyGFBcXIwgCmZmZdOrUSawXys3N5fTp00REREgdUfHUMa576hir7qRu7LAhSqsXUiJ1jOueOsYqK4LKZgUEBIg/X7hwQXjxxReF3NxcCRM9fNQxrnvqGNs2tTvRhmVmZlq1M+Tn58uqneFhoI5x3VPH2Lapk5hKpVKpFEu9JqZSqVQqxVInMZVKpVIpljqJqVQqlUqx1ElMpVKpVIr1f2symfY/Suy0AAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 解决中文乱码问题\n",
    "plt.rcParams['font.family'] = ['SimHei']\n",
    "sns.heatmap(zero_one(data35_41).corr(),cmap='Blues')\n",
    "#‘是否有投资’和‘是否投资过寿险’相关性很高，可以把‘是否有投资删掉’"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "id": "danish-lewis",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['是否投资过寿险', '是否有投资']"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "high_cor(data35_41)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "automotive-daily",
   "metadata": {},
   "source": [
    "### 探索生活习惯"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "id": "wicked-sympathy",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>是否网上购买过产品</th>\n",
       "      <th>是否通过快递买过东西</th>\n",
       "      <th>所处的县的大小</th>\n",
       "      <th>是否上网</th>\n",
       "      <th>是否喜欢美术</th>\n",
       "      <th>是否经常有奢侈消费</th>\n",
       "      <th>是否经常户外活动</th>\n",
       "      <th>是否喜欢运动</th>\n",
       "      <th>是否热爱科技</th>\n",
       "      <th>幸福指数</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>N</td>\n",
       "      <td>S</td>\n",
       "      <td>A</td>\n",
       "      <td>Y</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>N</td>\n",
       "      <td>P</td>\n",
       "      <td>A</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>N</td>\n",
       "      <td>M</td>\n",
       "      <td>A</td>\n",
       "      <td>Y</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>3.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>N</td>\n",
       "      <td>S</td>\n",
       "      <td>B</td>\n",
       "      <td>Y</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Y</td>\n",
       "      <td>M</td>\n",
       "      <td>B</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "      <td>N</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "      <td>3.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  是否网上购买过产品 是否通过快递买过东西 所处的县的大小 是否上网 是否喜欢美术 是否经常有奢侈消费 是否经常户外活动 是否喜欢运动 是否热爱科技  \\\n",
       "0         N          S       A    Y      N         N        N      N      N   \n",
       "1         N          P       A    N      N         N        N      N      N   \n",
       "2         N          M       A    Y      N         N        N      N      N   \n",
       "3         N          S       B    Y      N         N        N      N      N   \n",
       "4         Y          M       B    Y      Y         Y        N      Y      Y   \n",
       "\n",
       "   幸福指数  \n",
       "0   1.0  \n",
       "1   4.0  \n",
       "2   3.0  \n",
       "3   1.0  \n",
       "4   3.0  "
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#将家庭成员相关字段取出来并进行翻译\n",
    "data41_51 = chinese(data_01[feature_dict.变量名[41:51].tolist()])\n",
    "data41_51.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "id": "fixed-sauce",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "字段名: 是否网上购买过产品\n",
      "--------------\n",
      "字段数据类型: object\n",
      "--------------\n",
      "频数: N    36197\n",
      "Y     7469\n",
      "Name: 是否网上购买过产品, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: 是否通过快递买过东西\n",
      "--------------\n",
      "字段数据类型: object\n",
      "--------------\n",
      "频数: M    27450\n",
      "S     9947\n",
      "U     3912\n",
      "P     2350\n",
      "Name: 是否通过快递买过东西, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 7\n",
      "字段名: 所处的县的大小\n",
      "--------------\n",
      "字段数据类型: object\n",
      "--------------\n",
      "频数: A    26539\n",
      "B    12687\n",
      "C     3823\n",
      "D      607\n",
      "Name: 所处的县的大小, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 10\n",
      "字段名: 是否上网\n",
      "--------------\n",
      "字段数据类型: object\n",
      "--------------\n",
      "频数: Y    28473\n",
      "N    15193\n",
      "Name: 是否上网, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: 是否喜欢美术\n",
      "--------------\n",
      "字段数据类型: object\n",
      "--------------\n",
      "频数: N    37029\n",
      "Y     6637\n",
      "Name: 是否喜欢美术, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: 是否经常有奢侈消费\n",
      "--------------\n",
      "字段数据类型: object\n",
      "--------------\n",
      "频数: N    33801\n",
      "Y     9865\n",
      "Name: 是否经常有奢侈消费, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: 是否经常户外活动\n",
      "--------------\n",
      "字段数据类型: object\n",
      "--------------\n",
      "频数: N    35728\n",
      "Y     7938\n",
      "Name: 是否经常户外活动, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: 是否喜欢运动\n",
      "--------------\n",
      "字段数据类型: object\n",
      "--------------\n",
      "频数: N    31867\n",
      "Y    11799\n",
      "Name: 是否喜欢运动, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: 是否热爱科技\n",
      "--------------\n",
      "字段数据类型: object\n",
      "--------------\n",
      "频数: N    31370\n",
      "Y    12296\n",
      "Name: 是否热爱科技, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: 幸福指数\n",
      "--------------\n",
      "字段数据类型: float64\n",
      "--------------\n",
      "频数: 4.0    16093\n",
      "3.0    11975\n",
      "1.0     8837\n",
      "2.0     6395\n",
      "6.0      361\n",
      "Name: 幸福指数, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 5\n"
     ]
    }
   ],
   "source": [
    "#调用自动探索特征频率函数\n",
    "fre(data41_51)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "id": "several-wonder",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x29daeeaa5c0>"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "Text(0.5, 0, '县的大小')"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "Text(0, 0.5, '购买数量')"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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LWaz2dstDRkREREKkJN09dVX89577+FwOPjyyy/5v//7P0wm797WdSh45ZVXSEpK8nYbbhuUN6UaqsxmMzNnzgTg4osvprm5mdraWs4991wvdzZ4bdiwgffeew+r1cqCBQs0L3ISJkyYwO7du5kxYwadnZ39uhGcdLdhwwa2bdvGBRdcwEMPPeTtdtymy56IiIjbtDtLRETcphARERG3KURERMRtChGRAdbTtGNnZ6cXOhE59RQiIgPsf//3f7nrrru6jM2cOROLxdLrc2tqajhw4ECf1/Xss8/y5JNP9rtHEXfpEF8RN2zZsoUVK1YwcuTILuP19fXceeed3H333a6xzz//nCuuuML1uLm5mUOHDjF69Ohe17Nu3ToCAwNZuHBhn/oymUw6AVA8SiEi4obAwEBuvPHGbhfOKy4u7nIC3pw5c9izZw+BgYG8++673HPPPVitVo4cOcIPfvADABobG9m9e3eP6zGZTMTExJywF6fTicFgAHD9DeBwOPDz084GGVgKERE3GAwGtm3bRnV1dZfx+vp6srKyXI+//PJL3n77bcLCwnjyySdpaWlhy5YtvPTSS1xwwQUAJCcnu+qPHDnCGWecgdFoBMButxMUFORabrPZaGtrY9iwYa6AePPNN3nvvfd44oknXHUOh4Pbb7+dZ599ttcQEjkZChERNx1vS+Tf/eeWwN/+9jcMBoMrQP6zJiUlBYfD4dqiaG5uxt/f3/W6DoeDjo4OXnvtNVc4mM1mxo4d2229SUlJFBcXU1BQcJLvVOT4FCIiburLlsh/uuyyy7jjjjt46KGHKCwsBLrugvrPm5H99Kc/ZeTIkSxfvrzH17NarfzlL39hyZIl3ZZlZWUxadIkvvzyS84777w+vy+R/tAOU5F+cDgcrsNzb7zxRjZv3tzlT1paGnBsN5TdbgcgPT2dW2+9lbKyMoKDgxk/fjxffPEF27dvP+G6Dhw4wFdffUVVVRX79+/vsWbz5s1873vfIyoqqtuyYcOGkZqaynPPPXcyb1nkhLQlItIPf//731m8eLFr8vzKK69k2LBh3eYd3nzzTdcRVevWrXPNifzLXXfdxZYtW7jqqqsICQnpcV3Lly8nPT2dESNG8PDDD/P88893We50Olm/fj1Lly49br/Tpk1j5cqVbr1Xkb5QiIj0w4UXXsgf//hHAKqqqli8eDFr164lMjKSP//5z1RVVXH//ff3+jo33XQTN954I83NzT2GyMsvv0xdXR2PP/44AQEB/OlPf+KJJ55gwYIFrhqDwcArr7xCWFjYcdcTGxvLU0895cY7FekbhYiIG7Zt28bq1aspKSkBjh2FFRkZyebNmzEYDNx3330AdHR0kJ6ejp+fH42Njdx7773AsYlvu93O9u3bOf/8812v29zczJNPPskHH3zAmjVrXHcOLCwsJCMjg6+++oolS5a4dl/9e4D85S9/Yffu3YwZM8Yjn4EI6FLwIv3W3t5OcnKy6xyOqKgoIiMjiYyMJCIigldffZWcnBxuuOEGNm3axK233orJZGLv3r0EBgYSFxdHfX09eXl5fPe732X69OmEhoayY8cOcnJymDBhAsuWLet2t7vm5mZyc3OpqKjgzTff7LZ85cqVNDc3k5OTo8N6xWMUIiJu6OzsxN+/5w15q9VKaGhov1/T4XBQWVnJ+PHjT1j3+eefc/HFF/f79UUGgkJERETcpkN8RUTEbQoRERFxm0JERETcphARERG3KURERMRt/w+lWXey4GorWAAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.countplot(x = 'N2NCY',hue = 'resp_flag',data = data_01)\n",
    "plt.xlabel('县的大小')\n",
    "plt.ylabel('购买数量')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "attractive-occasion",
   "metadata": {},
   "source": [
    "### 探索家庭收入情况"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "id": "saved-tablet",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>是否有房子</th>\n",
       "      <th>是否有医保补贴</th>\n",
       "      <th>收入所处排名</th>\n",
       "      <th>普查家庭有效购买收入</th>\n",
       "      <th>家庭收入</th>\n",
       "      <th>家庭房屋价值</th>\n",
       "      <th>社会经济地位评分</th>\n",
       "      <th>家庭自成立日起的时间</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Y</td>\n",
       "      <td>C</td>\n",
       "      <td>74.0</td>\n",
       "      <td>71</td>\n",
       "      <td>90.0</td>\n",
       "      <td>738.0</td>\n",
       "      <td>111</td>\n",
       "      <td>64.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Y</td>\n",
       "      <td>U</td>\n",
       "      <td>69.0</td>\n",
       "      <td>69</td>\n",
       "      <td>84.0</td>\n",
       "      <td>494.0</td>\n",
       "      <td>97</td>\n",
       "      <td>56.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Y</td>\n",
       "      <td>U</td>\n",
       "      <td>32.0</td>\n",
       "      <td>44</td>\n",
       "      <td>50.0</td>\n",
       "      <td>516.0</td>\n",
       "      <td>83</td>\n",
       "      <td>50.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Y</td>\n",
       "      <td>C</td>\n",
       "      <td>82.0</td>\n",
       "      <td>82</td>\n",
       "      <td>103.0</td>\n",
       "      <td>473.0</td>\n",
       "      <td>105</td>\n",
       "      <td>52.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>U</td>\n",
       "      <td>A</td>\n",
       "      <td>38.0</td>\n",
       "      <td>47</td>\n",
       "      <td>55.0</td>\n",
       "      <td>523.0</td>\n",
       "      <td>89</td>\n",
       "      <td>50.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  是否有房子 是否有医保补贴  收入所处排名  普查家庭有效购买收入   家庭收入  家庭房屋价值  社会经济地位评分  家庭自成立日起的时间\n",
       "0     Y       C    74.0          71   90.0   738.0       111        64.0\n",
       "1     Y       U    69.0          69   84.0   494.0        97        56.0\n",
       "2     Y       U    32.0          44   50.0   516.0        83        50.0\n",
       "3     Y       C    82.0          82  103.0   473.0       105        52.0\n",
       "4     U       A    38.0          47   55.0   523.0        89        50.0"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#将家庭成员相关字段取出来并进行翻译\n",
    "data51_59 = chinese(data_01[feature_dict.变量名[51:59].tolist()])\n",
    "data51_59.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "id": "scheduled-preparation",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "字段名: 是否有房子\n",
      "--------------\n",
      "字段数据类型: object\n",
      "--------------\n",
      "频数: Y    31478\n",
      "U     4747\n",
      "P     4604\n",
      "R     2623\n",
      "T      204\n",
      "Name: 是否有房子, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 10\n",
      "字段名: 是否有医保补贴\n",
      "--------------\n",
      "字段数据类型: object\n",
      "--------------\n",
      "频数: U    21612\n",
      "C     8972\n",
      "A     6765\n",
      "B     6306\n",
      "Name: 是否有医保补贴, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 11\n",
      "字段名: 收入所处排名\n",
      "--------------\n",
      "字段数据类型: float64\n",
      "--------------\n",
      "频数: 79.0    713\n",
      "61.0    648\n",
      "55.0    647\n",
      "82.0    636\n",
      "88.0    607\n",
      "43.0    595\n",
      "86.0    591\n",
      "90.0    589\n",
      "77.0    583\n",
      "93.0    574\n",
      "81.0    568\n",
      "95.0    564\n",
      "75.0    561\n",
      "65.0    551\n",
      "84.0    549\n",
      "35.0    538\n",
      "72.0    530\n",
      "62.0    526\n",
      "71.0    526\n",
      "85.0    525\n",
      "66.0    521\n",
      "76.0    520\n",
      "24.0    519\n",
      "87.0    518\n",
      "26.0    517\n",
      "96.0    516\n",
      "53.0    514\n",
      "98.0    514\n",
      "64.0    512\n",
      "68.0    509\n",
      "       ... \n",
      "31.0    372\n",
      "49.0    372\n",
      "74.0    368\n",
      "8.0     367\n",
      "12.0    357\n",
      "19.0    352\n",
      "40.0    349\n",
      "9.0     346\n",
      "11.0    339\n",
      "28.0    339\n",
      "54.0    331\n",
      "7.0     330\n",
      "36.0    329\n",
      "14.0    328\n",
      "37.0    320\n",
      "52.0    320\n",
      "59.0    320\n",
      "22.0    311\n",
      "20.0    299\n",
      "63.0    289\n",
      "4.0     288\n",
      "2.0     283\n",
      "27.0    283\n",
      "5.0     279\n",
      "30.0    277\n",
      "25.0    258\n",
      "46.0    254\n",
      "17.0    246\n",
      "23.0    225\n",
      "42.0    162\n",
      "Name: 收入所处排名, Length: 99, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 2\n",
      "字段名: 普查家庭有效购买收入\n",
      "--------------\n",
      "字段数据类型: int64\n",
      "--------------\n",
      "频数: 48     1034\n",
      "45      994\n",
      "44      980\n",
      "47      967\n",
      "49      957\n",
      "43      945\n",
      "46      933\n",
      "40      849\n",
      "41      802\n",
      "50      794\n",
      "38      787\n",
      "54      778\n",
      "42      778\n",
      "57      764\n",
      "51      742\n",
      "58      732\n",
      "63      730\n",
      "60      727\n",
      "33      722\n",
      "55      717\n",
      "52      717\n",
      "61      712\n",
      "56      697\n",
      "35      693\n",
      "59      692\n",
      "39      679\n",
      "34      678\n",
      "53      675\n",
      "36      673\n",
      "37      657\n",
      "       ... \n",
      "194       1\n",
      "157       1\n",
      "303       1\n",
      "199       1\n",
      "195       1\n",
      "251       1\n",
      "207       1\n",
      "243       1\n",
      "275       1\n",
      "270       1\n",
      "174       1\n",
      "173       1\n",
      "276       1\n",
      "172       1\n",
      "203       1\n",
      "171       1\n",
      "213       1\n",
      "202       1\n",
      "178       1\n",
      "233       1\n",
      "201       1\n",
      "151       1\n",
      "200       1\n",
      "239       1\n",
      "216       1\n",
      "230       1\n",
      "198       1\n",
      "154       1\n",
      "164       1\n",
      "191       1\n",
      "Name: 普查家庭有效购买收入, Length: 208, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: 家庭收入\n",
      "--------------\n",
      "字段数据类型: float64\n",
      "--------------\n",
      "频数: 49.0     746\n",
      "46.0     713\n",
      "63.0     710\n",
      "59.0     687\n",
      "60.0     683\n",
      "56.0     677\n",
      "48.0     673\n",
      "45.0     672\n",
      "44.0     641\n",
      "43.0     638\n",
      "61.0     634\n",
      "54.0     616\n",
      "50.0     615\n",
      "66.0     611\n",
      "57.0     609\n",
      "65.0     609\n",
      "68.0     603\n",
      "53.0     603\n",
      "51.0     595\n",
      "40.0     592\n",
      "69.0     587\n",
      "42.0     583\n",
      "72.0     582\n",
      "55.0     577\n",
      "58.0     574\n",
      "47.0     573\n",
      "67.0     560\n",
      "70.0     559\n",
      "64.0     553\n",
      "74.0     549\n",
      "        ... \n",
      "174.0      4\n",
      "213.0      4\n",
      "203.0      4\n",
      "228.0      4\n",
      "187.0      3\n",
      "236.0      3\n",
      "247.0      3\n",
      "239.0      3\n",
      "214.0      3\n",
      "235.0      2\n",
      "219.0      2\n",
      "242.0      2\n",
      "217.0      2\n",
      "225.0      2\n",
      "243.0      2\n",
      "227.0      2\n",
      "222.0      1\n",
      "249.0      1\n",
      "206.0      1\n",
      "211.0      1\n",
      "204.0      1\n",
      "253.0      1\n",
      "230.0      1\n",
      "216.0      1\n",
      "220.0      1\n",
      "246.0      1\n",
      "221.0      1\n",
      "218.0      1\n",
      "207.0      1\n",
      "241.0      1\n",
      "Name: 家庭收入, Length: 224, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 7\n",
      "字段名: 家庭房屋价值\n",
      "--------------\n",
      "字段数据类型: float64\n",
      "--------------\n",
      "频数: 999.0    1371\n",
      "138.0     244\n",
      "168.0     233\n",
      "125.0     232\n",
      "175.0     207\n",
      "158.0     190\n",
      "183.0     189\n",
      "123.0     188\n",
      "132.0     185\n",
      "131.0     185\n",
      "126.0     184\n",
      "136.0     183\n",
      "128.0     181\n",
      "182.0     181\n",
      "130.0     180\n",
      "124.0     180\n",
      "144.0     179\n",
      "127.0     177\n",
      "163.0     176\n",
      "148.0     175\n",
      "133.0     175\n",
      "142.0     174\n",
      "166.0     169\n",
      "178.0     168\n",
      "134.0     164\n",
      "95.0      164\n",
      "129.0     163\n",
      "120.0     163\n",
      "154.0     162\n",
      "117.0     162\n",
      "         ... \n",
      "971.0       2\n",
      "954.0       2\n",
      "834.0       2\n",
      "777.0       2\n",
      "992.0       2\n",
      "924.0       2\n",
      "756.0       2\n",
      "882.0       2\n",
      "21.0        2\n",
      "996.0       2\n",
      "913.0       2\n",
      "951.0       2\n",
      "895.0       2\n",
      "923.0       2\n",
      "961.0       2\n",
      "749.0       1\n",
      "794.0       1\n",
      "947.0       1\n",
      "997.0       1\n",
      "960.0       1\n",
      "936.0       1\n",
      "989.0       1\n",
      "12.0        1\n",
      "968.0       1\n",
      "995.0       1\n",
      "956.0       1\n",
      "796.0       1\n",
      "983.0       1\n",
      "940.0       1\n",
      "20.0        1\n",
      "Name: 家庭房屋价值, Length: 983, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 15\n",
      "字段名: 社会经济地位评分\n",
      "--------------\n",
      "字段数据类型: int64\n",
      "--------------\n",
      "频数: 77     1194\n",
      "75     1153\n",
      "78     1119\n",
      "80     1119\n",
      "79     1114\n",
      "74     1092\n",
      "84     1089\n",
      "76     1079\n",
      "81     1065\n",
      "82     1040\n",
      "72     1005\n",
      "88      983\n",
      "73      980\n",
      "83      980\n",
      "86      966\n",
      "71      942\n",
      "89      942\n",
      "85      936\n",
      "87      926\n",
      "69      852\n",
      "91      848\n",
      "70      838\n",
      "92      838\n",
      "90      829\n",
      "93      807\n",
      "67      746\n",
      "94      740\n",
      "68      717\n",
      "95      684\n",
      "97      681\n",
      "       ... \n",
      "132      63\n",
      "142      59\n",
      "148      59\n",
      "141      58\n",
      "144      46\n",
      "146      46\n",
      "145      45\n",
      "143      44\n",
      "155      43\n",
      "152      40\n",
      "149      36\n",
      "151      34\n",
      "156      33\n",
      "153      31\n",
      "150      30\n",
      "159      30\n",
      "147      28\n",
      "160      28\n",
      "161      27\n",
      "157      24\n",
      "158      23\n",
      "154      22\n",
      "163      20\n",
      "167      14\n",
      "164      13\n",
      "166      13\n",
      "169      12\n",
      "162      11\n",
      "165      11\n",
      "168       8\n",
      "Name: 社会经济地位评分, Length: 111, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: 家庭自成立日起的时间\n",
      "--------------\n",
      "字段数据类型: float64\n",
      "--------------\n",
      "频数: 55.0    3257\n",
      "56.0    3110\n",
      "54.0    3034\n",
      "53.0    2866\n",
      "57.0    2826\n",
      "52.0    2775\n",
      "51.0    2676\n",
      "50.0    2518\n",
      "58.0    2383\n",
      "49.0    2260\n",
      "59.0    1868\n",
      "48.0    1863\n",
      "47.0    1671\n",
      "46.0    1329\n",
      "60.0    1216\n",
      "45.0    1025\n",
      "44.0     959\n",
      "61.0     825\n",
      "43.0     666\n",
      "62.0     613\n",
      "42.0     457\n",
      "63.0     417\n",
      "41.0     362\n",
      "40.0     275\n",
      "64.0     270\n",
      "65.0     265\n",
      "66.0     202\n",
      "39.0     154\n",
      "67.0     150\n",
      "38.0     147\n",
      "        ... \n",
      "70.0      76\n",
      "72.0      72\n",
      "71.0      63\n",
      "34.0      63\n",
      "35.0      63\n",
      "0.0       60\n",
      "75.0      53\n",
      "77.0      48\n",
      "33.0      47\n",
      "79.0      40\n",
      "76.0      39\n",
      "73.0      37\n",
      "74.0      36\n",
      "78.0      34\n",
      "32.0      27\n",
      "31.0      16\n",
      "80.0      15\n",
      "30.0      11\n",
      "24.0       6\n",
      "85.0       6\n",
      "29.0       4\n",
      "84.0       4\n",
      "27.0       4\n",
      "23.0       3\n",
      "82.0       3\n",
      "28.0       3\n",
      "25.0       2\n",
      "26.0       1\n",
      "81.0       1\n",
      "20.0       1\n",
      "Name: 家庭自成立日起的时间, Length: 64, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 15\n"
     ]
    }
   ],
   "source": [
    "fre(data51_59)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "id": "shared-pharmaceutical",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x29daef2a780>"
      ]
     },
     "execution_count": 49,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.heatmap(zero_one(data51_59).corr(),cmap='OrRd')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "id": "analyzed-consent",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['收入所处排名', '普查家庭有效购买收入', '家庭收入', '家庭房屋价值', '社会经济地位评分']"
      ]
     },
     "execution_count": 50,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "high_cor(data51_59)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "south-encoding",
   "metadata": {},
   "source": [
    "### 探索所处地区情况"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "id": "specific-blink",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>该客户被多少个名单source 包含</th>\n",
       "      <th>所处的省份</th>\n",
       "      <th>贫穷以上人的比例</th>\n",
       "      <th>所处地区有多少居住小区在2000年及以后建立</th>\n",
       "      <th>所处地区蓝领所占百分比</th>\n",
       "      <th>贫穷以下人的比例</th>\n",
       "      <th>所处地区mobile home的比例</th>\n",
       "      <th>离婚或者分居人群所占比例</th>\n",
       "      <th>已婚人群所占比例</th>\n",
       "      <th>有房子人所占比例</th>\n",
       "      <th>独宅住户所占比例</th>\n",
       "      <th>有小孩的家庭所占比例</th>\n",
       "      <th>白领所占比例</th>\n",
       "      <th>所处地区居住年限</th>\n",
       "      <th>Individual ID</th>\n",
       "      <th>所在地区处方药计划覆盖的比例</th>\n",
       "      <th>zip level的家庭收入排名</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>8</td>\n",
       "      <td>CA</td>\n",
       "      <td>99</td>\n",
       "      <td>11.0</td>\n",
       "      <td>10</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>14</td>\n",
       "      <td>52</td>\n",
       "      <td>65</td>\n",
       "      <td>71.0</td>\n",
       "      <td>22</td>\n",
       "      <td>79.0</td>\n",
       "      <td>15.0</td>\n",
       "      <td>281478</td>\n",
       "      <td>42</td>\n",
       "      <td>8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>6</td>\n",
       "      <td>CA</td>\n",
       "      <td>98</td>\n",
       "      <td>6.0</td>\n",
       "      <td>15</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>15</td>\n",
       "      <td>44</td>\n",
       "      <td>81</td>\n",
       "      <td>99.0</td>\n",
       "      <td>37</td>\n",
       "      <td>65.0</td>\n",
       "      <td>17.0</td>\n",
       "      <td>290485</td>\n",
       "      <td>46</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>7</td>\n",
       "      <td>CA</td>\n",
       "      <td>88</td>\n",
       "      <td>NaN</td>\n",
       "      <td>26</td>\n",
       "      <td>12</td>\n",
       "      <td>0</td>\n",
       "      <td>17</td>\n",
       "      <td>38</td>\n",
       "      <td>44</td>\n",
       "      <td>62.0</td>\n",
       "      <td>44</td>\n",
       "      <td>47.0</td>\n",
       "      <td>20.0</td>\n",
       "      <td>299949</td>\n",
       "      <td>46</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>8</td>\n",
       "      <td>CA</td>\n",
       "      <td>96</td>\n",
       "      <td>NaN</td>\n",
       "      <td>15</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>14</td>\n",
       "      <td>45</td>\n",
       "      <td>71</td>\n",
       "      <td>99.0</td>\n",
       "      <td>39</td>\n",
       "      <td>71.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>314635</td>\n",
       "      <td>37</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>4</td>\n",
       "      <td>CA</td>\n",
       "      <td>88</td>\n",
       "      <td>NaN</td>\n",
       "      <td>9</td>\n",
       "      <td>12</td>\n",
       "      <td>10</td>\n",
       "      <td>29</td>\n",
       "      <td>32</td>\n",
       "      <td>13</td>\n",
       "      <td>36.0</td>\n",
       "      <td>15</td>\n",
       "      <td>65.0</td>\n",
       "      <td>9.0</td>\n",
       "      <td>363702</td>\n",
       "      <td>37</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   该客户被多少个名单source 包含 所处的省份  贫穷以上人的比例  所处地区有多少居住小区在2000年及以后建立  所处地区蓝领所占百分比  \\\n",
       "0                   8    CA        99                    11.0           10   \n",
       "1                   6    CA        98                     6.0           15   \n",
       "2                   7    CA        88                     NaN           26   \n",
       "3                   8    CA        96                     NaN           15   \n",
       "4                   4    CA        88                     NaN            9   \n",
       "\n",
       "   贫穷以下人的比例  所处地区mobile home的比例  离婚或者分居人群所占比例  已婚人群所占比例  有房子人所占比例  独宅住户所占比例  \\\n",
       "0         1                   0            14        52        65      71.0   \n",
       "1         2                   0            15        44        81      99.0   \n",
       "2        12                   0            17        38        44      62.0   \n",
       "3         4                   0            14        45        71      99.0   \n",
       "4        12                  10            29        32        13      36.0   \n",
       "\n",
       "   有小孩的家庭所占比例  白领所占比例  所处地区居住年限  Individual ID  所在地区处方药计划覆盖的比例  \\\n",
       "0          22    79.0      15.0         281478              42   \n",
       "1          37    65.0      17.0         290485              46   \n",
       "2          44    47.0      20.0         299949              46   \n",
       "3          39    71.0       4.0         314635              37   \n",
       "4          15    65.0       9.0         363702              37   \n",
       "\n",
       "   zip level的家庭收入排名  \n",
       "0                 8  \n",
       "1                 3  \n",
       "2                 3  \n",
       "3                 9  \n",
       "4                 3  "
      ]
     },
     "execution_count": 51,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data59 = chinese(data_01[feature_dict.变量名[59:].tolist()])\n",
    "data59.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "id": "complimentary-touch",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "字段名: 该客户被多少个名单source 包含\n",
      "--------------\n",
      "字段数据类型: int64\n",
      "--------------\n",
      "频数: 8     4168\n",
      "9     4152\n",
      "10    4131\n",
      "7     3878\n",
      "11    3735\n",
      "6     3654\n",
      "5     3400\n",
      "4     3144\n",
      "3     3044\n",
      "12    3038\n",
      "2     2229\n",
      "13    2017\n",
      "14    1243\n",
      "1      728\n",
      "15     630\n",
      "16     310\n",
      "17     104\n",
      "18      48\n",
      "19      13\n",
      "Name: 该客户被多少个名单source 包含, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: 所处的省份\n",
      "--------------\n",
      "字段数据类型: object\n",
      "--------------\n",
      "频数: CA    11700\n",
      "OH     8959\n",
      "NY     6481\n",
      "IN     4954\n",
      "CT     2873\n",
      "MO     2202\n",
      "WI     1884\n",
      "GA     1687\n",
      "KY     1375\n",
      "NH      904\n",
      "ME      647\n",
      "Name: 所处的省份, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: 贫穷以上人的比例\n",
      "--------------\n",
      "字段数据类型: int64\n",
      "--------------\n",
      "频数: 99    4081\n",
      "98    3624\n",
      "97    3440\n",
      "96    3307\n",
      "95    2885\n",
      "94    2535\n",
      "93    2221\n",
      "92    2011\n",
      "91    1618\n",
      "90    1466\n",
      "89    1378\n",
      "87    1181\n",
      "88    1108\n",
      "86    1013\n",
      "85     999\n",
      "83     838\n",
      "84     824\n",
      "82     677\n",
      "81     627\n",
      "79     585\n",
      "80     585\n",
      "78     542\n",
      "77     521\n",
      "75     456\n",
      "76     447\n",
      "73     368\n",
      "72     361\n",
      "74     358\n",
      "71     303\n",
      "69     293\n",
      "      ... \n",
      "48      33\n",
      "49      28\n",
      "46      23\n",
      "45      21\n",
      "44      20\n",
      "47      20\n",
      "42      18\n",
      "41      17\n",
      "31       9\n",
      "38       9\n",
      "43       9\n",
      "39       9\n",
      "29       7\n",
      "40       6\n",
      "36       6\n",
      "37       5\n",
      "34       5\n",
      "26       4\n",
      "30       3\n",
      "28       3\n",
      "16       2\n",
      "32       2\n",
      "24       2\n",
      "33       2\n",
      "7        1\n",
      "17       1\n",
      "25       1\n",
      "35       1\n",
      "22       1\n",
      "15       1\n",
      "Name: 贫穷以上人的比例, Length: 81, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: 所处地区有多少居住小区在2000年及以后建立\n",
      "--------------\n",
      "字段数据类型: float64\n",
      "--------------\n",
      "频数: 4.0     2467\n",
      "2.0     2401\n",
      "3.0     2364\n",
      "5.0     2317\n",
      "1.0     2305\n",
      "6.0     2233\n",
      "7.0     2226\n",
      "8.0     1869\n",
      "9.0     1855\n",
      "0.0     1665\n",
      "10.0    1649\n",
      "11.0    1506\n",
      "12.0    1360\n",
      "13.0    1252\n",
      "14.0    1147\n",
      "15.0    1015\n",
      "16.0     950\n",
      "17.0     825\n",
      "19.0     801\n",
      "18.0     778\n",
      "21.0     664\n",
      "20.0     585\n",
      "23.0     558\n",
      "22.0     526\n",
      "25.0     500\n",
      "24.0     497\n",
      "26.0     451\n",
      "28.0     378\n",
      "27.0     372\n",
      "29.0     369\n",
      "        ... \n",
      "61.0      45\n",
      "76.0      45\n",
      "73.0      44\n",
      "74.0      42\n",
      "62.0      40\n",
      "91.0      38\n",
      "85.0      34\n",
      "84.0      32\n",
      "89.0      31\n",
      "75.0      28\n",
      "80.0      25\n",
      "79.0      25\n",
      "66.0      25\n",
      "69.0      25\n",
      "88.0      23\n",
      "83.0      23\n",
      "77.0      22\n",
      "98.0      18\n",
      "96.0      14\n",
      "92.0      12\n",
      "87.0      11\n",
      "97.0      10\n",
      "82.0       7\n",
      "93.0       7\n",
      "99.0       5\n",
      "81.0       5\n",
      "90.0       4\n",
      "95.0       4\n",
      "86.0       3\n",
      "94.0       2\n",
      "Name: 所处地区有多少居住小区在2000年及以后建立, Length: 100, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 5\n",
      "字段名: 所处地区蓝领所占百分比\n",
      "--------------\n",
      "字段数据类型: int64\n",
      "--------------\n",
      "频数: 18    1717\n",
      "16    1706\n",
      "20    1696\n",
      "17    1679\n",
      "22    1670\n",
      "15    1621\n",
      "14    1589\n",
      "21    1586\n",
      "19    1578\n",
      "13    1520\n",
      "23    1498\n",
      "12    1469\n",
      "11    1426\n",
      "24    1356\n",
      "25    1279\n",
      "10    1242\n",
      "26    1213\n",
      "27    1183\n",
      "9     1155\n",
      "8     1111\n",
      "7     1095\n",
      "29    1046\n",
      "28    1003\n",
      "6      995\n",
      "5      892\n",
      "30     877\n",
      "31     846\n",
      "32     734\n",
      "4      700\n",
      "3      663\n",
      "      ... \n",
      "38     340\n",
      "39     322\n",
      "40     280\n",
      "1      261\n",
      "0      205\n",
      "41     199\n",
      "42     155\n",
      "44     148\n",
      "43     139\n",
      "45     103\n",
      "46      78\n",
      "47      61\n",
      "48      52\n",
      "49      45\n",
      "50      29\n",
      "51      14\n",
      "54      10\n",
      "52      10\n",
      "53       9\n",
      "60       8\n",
      "55       7\n",
      "57       7\n",
      "56       5\n",
      "62       4\n",
      "59       3\n",
      "61       3\n",
      "64       2\n",
      "63       2\n",
      "67       1\n",
      "58       1\n",
      "Name: 所处地区蓝领所占百分比, Length: 66, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: 贫穷以下人的比例\n",
      "--------------\n",
      "字段数据类型: int64\n",
      "--------------\n",
      "频数: 2     3604\n",
      "3     3464\n",
      "4     3308\n",
      "1     3082\n",
      "5     2884\n",
      "6     2531\n",
      "7     2209\n",
      "8     2024\n",
      "9     1622\n",
      "10    1460\n",
      "11    1384\n",
      "13    1219\n",
      "12    1069\n",
      "0     1055\n",
      "14    1013\n",
      "15    1000\n",
      "17     833\n",
      "16     824\n",
      "18     677\n",
      "19     632\n",
      "20     585\n",
      "21     584\n",
      "22     538\n",
      "23     526\n",
      "25     456\n",
      "24     447\n",
      "27     366\n",
      "28     363\n",
      "26     358\n",
      "29     301\n",
      "      ... \n",
      "51      28\n",
      "54      23\n",
      "55      21\n",
      "56      20\n",
      "53      20\n",
      "58      19\n",
      "59      17\n",
      "61       9\n",
      "69       9\n",
      "62       8\n",
      "57       8\n",
      "71       7\n",
      "63       6\n",
      "60       6\n",
      "64       6\n",
      "66       5\n",
      "74       4\n",
      "70       3\n",
      "72       3\n",
      "68       2\n",
      "76       2\n",
      "67       2\n",
      "84       2\n",
      "93       1\n",
      "75       1\n",
      "65       1\n",
      "99       1\n",
      "83       1\n",
      "78       1\n",
      "85       1\n",
      "Name: 贫穷以下人的比例, Length: 82, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: 所处地区mobile home的比例\n",
      "--------------\n",
      "字段数据类型: int64\n",
      "--------------\n",
      "频数: 0     33478\n",
      "1      1677\n",
      "2      1442\n",
      "3       906\n",
      "4       658\n",
      "5       555\n",
      "6       452\n",
      "7       378\n",
      "8       327\n",
      "10      231\n",
      "9       217\n",
      "11      193\n",
      "14      175\n",
      "13      175\n",
      "12      172\n",
      "16      165\n",
      "15      157\n",
      "17      146\n",
      "23      103\n",
      "18      101\n",
      "22      101\n",
      "25       92\n",
      "26       91\n",
      "19       88\n",
      "24       86\n",
      "21       85\n",
      "20       78\n",
      "29       73\n",
      "28       72\n",
      "32       66\n",
      "      ...  \n",
      "55       10\n",
      "76        9\n",
      "53        9\n",
      "72        9\n",
      "79        8\n",
      "64        7\n",
      "82        7\n",
      "61        7\n",
      "86        6\n",
      "92        6\n",
      "67        5\n",
      "87        5\n",
      "91        4\n",
      "84        4\n",
      "69        4\n",
      "74        4\n",
      "81        4\n",
      "95        3\n",
      "88        3\n",
      "98        3\n",
      "77        2\n",
      "94        2\n",
      "80        2\n",
      "93        2\n",
      "89        2\n",
      "85        2\n",
      "66        2\n",
      "73        1\n",
      "99        1\n",
      "78        1\n",
      "Name: 所处地区mobile home的比例, Length: 96, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: 离婚或者分居人群所占比例\n",
      "--------------\n",
      "字段数据类型: int64\n",
      "--------------\n",
      "频数: 14    3288\n",
      "15    3254\n",
      "16    3162\n",
      "13    3100\n",
      "17    3073\n",
      "12    2826\n",
      "18    2805\n",
      "11    2525\n",
      "19    2345\n",
      "10    2139\n",
      "20    2055\n",
      "9     1727\n",
      "21    1724\n",
      "22    1484\n",
      "8     1228\n",
      "23    1154\n",
      "24    1050\n",
      "7      999\n",
      "25     656\n",
      "26     517\n",
      "6      500\n",
      "27     414\n",
      "5      282\n",
      "28     266\n",
      "29     199\n",
      "30     175\n",
      "31     135\n",
      "4      130\n",
      "32     106\n",
      "0       62\n",
      "33      56\n",
      "3       45\n",
      "34      39\n",
      "36      38\n",
      "2       22\n",
      "35      21\n",
      "37      13\n",
      "38      12\n",
      "42       7\n",
      "39       6\n",
      "41       5\n",
      "1        5\n",
      "50       4\n",
      "40       4\n",
      "55       3\n",
      "44       2\n",
      "48       1\n",
      "47       1\n",
      "46       1\n",
      "43       1\n",
      "Name: 离婚或者分居人群所占比例, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: 已婚人群所占比例\n",
      "--------------\n",
      "字段数据类型: int64\n",
      "--------------\n",
      "频数: 53    1221\n",
      "52    1209\n",
      "48    1164\n",
      "51    1161\n",
      "40    1157\n",
      "50    1145\n",
      "43    1133\n",
      "49    1122\n",
      "47    1119\n",
      "55    1116\n",
      "45    1115\n",
      "56    1109\n",
      "42    1105\n",
      "54    1063\n",
      "38    1050\n",
      "57    1038\n",
      "41    1038\n",
      "58    1024\n",
      "44    1017\n",
      "39    1017\n",
      "46     969\n",
      "36     949\n",
      "34     935\n",
      "59     930\n",
      "37     896\n",
      "61     844\n",
      "32     834\n",
      "35     833\n",
      "60     809\n",
      "31     786\n",
      "      ... \n",
      "69     198\n",
      "15     188\n",
      "70     167\n",
      "14     144\n",
      "13     137\n",
      "71     117\n",
      "12      91\n",
      "11      75\n",
      "0       72\n",
      "72      69\n",
      "10      62\n",
      "73      61\n",
      "74      51\n",
      "9       44\n",
      "8       35\n",
      "7       30\n",
      "75      24\n",
      "5       21\n",
      "6       21\n",
      "77      16\n",
      "76      11\n",
      "4       10\n",
      "3        9\n",
      "2        8\n",
      "1        7\n",
      "81       4\n",
      "79       2\n",
      "80       2\n",
      "78       1\n",
      "82       1\n",
      "Name: 已婚人群所占比例, Length: 83, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: 有房子人所占比例\n",
      "--------------\n",
      "字段数据类型: int64\n",
      "--------------\n",
      "频数: 85    972\n",
      "89    913\n",
      "88    890\n",
      "81    877\n",
      "86    856\n",
      "87    847\n",
      "80    838\n",
      "83    836\n",
      "82    830\n",
      "90    796\n",
      "79    788\n",
      "91    774\n",
      "76    773\n",
      "77    771\n",
      "73    761\n",
      "84    743\n",
      "92    732\n",
      "78    719\n",
      "70    698\n",
      "71    689\n",
      "72    682\n",
      "75    675\n",
      "62    641\n",
      "68    616\n",
      "74    605\n",
      "66    588\n",
      "67    581\n",
      "69    577\n",
      "65    544\n",
      "93    544\n",
      "     ... \n",
      "30    291\n",
      "20    269\n",
      "28    267\n",
      "24    257\n",
      "17    255\n",
      "23    254\n",
      "21    243\n",
      "13    232\n",
      "18    228\n",
      "22    224\n",
      "16    219\n",
      "19    217\n",
      "12    209\n",
      "15    206\n",
      "14    200\n",
      "11    184\n",
      "1     159\n",
      "9     158\n",
      "8     155\n",
      "96    148\n",
      "10    139\n",
      "2     135\n",
      "5     133\n",
      "4     126\n",
      "6     120\n",
      "7     120\n",
      "3     116\n",
      "97     69\n",
      "98      9\n",
      "99      8\n",
      "Name: 有房子人所占比例, Length: 100, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: 独宅住户所占比例\n",
      "--------------\n",
      "字段数据类型: float64\n",
      "--------------\n",
      "频数: 99.0    6996\n",
      "98.0    1213\n",
      "0.0     1193\n",
      "97.0    1043\n",
      "95.0     994\n",
      "96.0     889\n",
      "94.0     870\n",
      "93.0     759\n",
      "92.0     744\n",
      "91.0     719\n",
      "90.0     717\n",
      "87.0     676\n",
      "88.0     654\n",
      "85.0     643\n",
      "86.0     617\n",
      "89.0     605\n",
      "83.0     603\n",
      "84.0     570\n",
      "79.0     556\n",
      "82.0     548\n",
      "81.0     521\n",
      "80.0     496\n",
      "78.0     489\n",
      "72.0     484\n",
      "68.0     472\n",
      "74.0     470\n",
      "77.0     465\n",
      "76.0     462\n",
      "73.0     444\n",
      "75.0     444\n",
      "        ... \n",
      "36.0     207\n",
      "37.0     205\n",
      "35.0     203\n",
      "7.0      202\n",
      "8.0      202\n",
      "30.0     200\n",
      "6.0      196\n",
      "11.0     191\n",
      "23.0     188\n",
      "16.0     185\n",
      "32.0     184\n",
      "29.0     181\n",
      "15.0     179\n",
      "12.0     176\n",
      "28.0     175\n",
      "31.0     175\n",
      "10.0     173\n",
      "26.0     170\n",
      "25.0     170\n",
      "18.0     162\n",
      "34.0     162\n",
      "20.0     159\n",
      "21.0     156\n",
      "22.0     154\n",
      "13.0     148\n",
      "14.0     142\n",
      "19.0     139\n",
      "17.0     138\n",
      "27.0     123\n",
      "24.0     122\n",
      "Name: 独宅住户所占比例, Length: 100, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 23\n",
      "字段名: 有小孩的家庭所占比例\n",
      "--------------\n",
      "字段数据类型: int64\n",
      "--------------\n",
      "频数: 32    1777\n",
      "33    1754\n",
      "34    1719\n",
      "30    1704\n",
      "31    1690\n",
      "35    1624\n",
      "36    1592\n",
      "29    1589\n",
      "28    1518\n",
      "37    1494\n",
      "27    1372\n",
      "38    1370\n",
      "39    1313\n",
      "26    1277\n",
      "40    1274\n",
      "25    1142\n",
      "41    1052\n",
      "42    1038\n",
      "24     982\n",
      "23     962\n",
      "43     915\n",
      "44     813\n",
      "22     785\n",
      "21     743\n",
      "45     678\n",
      "20     662\n",
      "46     659\n",
      "19     583\n",
      "47     567\n",
      "48     516\n",
      "      ... \n",
      "63     139\n",
      "8      137\n",
      "6      129\n",
      "5      114\n",
      "4      114\n",
      "64      88\n",
      "65      79\n",
      "3       78\n",
      "66      71\n",
      "68      48\n",
      "2       45\n",
      "1       44\n",
      "67      43\n",
      "69      37\n",
      "71      27\n",
      "70      24\n",
      "72      21\n",
      "73      14\n",
      "74      10\n",
      "78       7\n",
      "75       6\n",
      "90       3\n",
      "85       2\n",
      "81       2\n",
      "80       2\n",
      "79       2\n",
      "76       2\n",
      "99       1\n",
      "86       1\n",
      "83       1\n",
      "Name: 有小孩的家庭所占比例, Length: 86, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: 白领所占比例\n",
      "--------------\n",
      "字段数据类型: float64\n",
      "--------------\n",
      "频数: 61.0    1198\n",
      "59.0    1098\n",
      "63.0    1098\n",
      "57.0    1072\n",
      "64.0    1071\n",
      "58.0    1055\n",
      "54.0    1040\n",
      "62.0    1037\n",
      "65.0    1037\n",
      "60.0    1026\n",
      "55.0    1009\n",
      "67.0    1000\n",
      "68.0     984\n",
      "66.0     981\n",
      "51.0     929\n",
      "56.0     927\n",
      "70.0     923\n",
      "53.0     922\n",
      "71.0     918\n",
      "49.0     907\n",
      "52.0     906\n",
      "69.0     888\n",
      "50.0     849\n",
      "73.0     840\n",
      "72.0     824\n",
      "74.0     794\n",
      "75.0     766\n",
      "48.0     762\n",
      "46.0     761\n",
      "47.0     753\n",
      "        ... \n",
      "93.0     146\n",
      "94.0     131\n",
      "31.0     129\n",
      "30.0     122\n",
      "29.0     121\n",
      "28.0      91\n",
      "95.0      86\n",
      "27.0      86\n",
      "0.0       63\n",
      "26.0      58\n",
      "96.0      54\n",
      "25.0      44\n",
      "99.0      37\n",
      "23.0      37\n",
      "97.0      35\n",
      "24.0      32\n",
      "22.0      29\n",
      "21.0      22\n",
      "98.0      21\n",
      "20.0      17\n",
      "19.0      15\n",
      "17.0       7\n",
      "18.0       7\n",
      "10.0       4\n",
      "15.0       3\n",
      "16.0       3\n",
      "11.0       2\n",
      "13.0       1\n",
      "1.0        1\n",
      "14.0       1\n",
      "Name: 白领所占比例, Length: 91, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 14\n",
      "字段名: 所处地区居住年限\n",
      "--------------\n",
      "字段数据类型: float64\n",
      "--------------\n",
      "频数: 19.0    6287\n",
      "12.0    2756\n",
      "1.0     2319\n",
      "17.0    2125\n",
      "7.0     2013\n",
      "99.0    1762\n",
      "3.0     1760\n",
      "9.0     1603\n",
      "13.0    1425\n",
      "10.0    1360\n",
      "11.0    1238\n",
      "4.0     1157\n",
      "15.0    1114\n",
      "16.0    1107\n",
      "14.0    1085\n",
      "2.0     1043\n",
      "8.0     1015\n",
      "18.0    1002\n",
      "5.0      968\n",
      "0.0      963\n",
      "6.0      945\n",
      "20.0     766\n",
      "21.0     637\n",
      "22.0     619\n",
      "23.0     578\n",
      "24.0     530\n",
      "25.0     502\n",
      "29.0     457\n",
      "28.0     454\n",
      "27.0     446\n",
      "        ... \n",
      "41.0     150\n",
      "43.0     130\n",
      "42.0     126\n",
      "35.0     121\n",
      "34.0     100\n",
      "44.0      85\n",
      "45.0      60\n",
      "46.0      54\n",
      "47.0      38\n",
      "49.0      30\n",
      "48.0      28\n",
      "52.0      17\n",
      "50.0      17\n",
      "51.0      15\n",
      "54.0       7\n",
      "55.0       6\n",
      "57.0       4\n",
      "53.0       3\n",
      "88.0       3\n",
      "56.0       2\n",
      "58.0       1\n",
      "64.0       1\n",
      "65.0       1\n",
      "61.0       1\n",
      "66.0       1\n",
      "96.0       1\n",
      "59.0       1\n",
      "68.0       1\n",
      "98.0       1\n",
      "67.0       1\n",
      "Name: 所处地区居住年限, Length: 70, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 6\n",
      "字段名: Individual ID\n",
      "--------------\n",
      "字段数据类型: int64\n",
      "--------------\n",
      "频数: 142936063    1\n",
      "68797618     1\n",
      "193209817    1\n",
      "172309160    1\n",
      "171816124    1\n",
      "161582267    1\n",
      "185889567    1\n",
      "397430357    1\n",
      "102821047    1\n",
      "6618293      1\n",
      "21224625     1\n",
      "186014881    1\n",
      "180909461    1\n",
      "186465453    1\n",
      "195799799    1\n",
      "83102891     1\n",
      "83082413     1\n",
      "166337705    1\n",
      "189666472    1\n",
      "161901735    1\n",
      "205214912    1\n",
      "121914562    1\n",
      "232934595    1\n",
      "195261636    1\n",
      "7187679      1\n",
      "45393118     1\n",
      "128433373    1\n",
      "12563676     1\n",
      "170034394    1\n",
      "94346457     1\n",
      "            ..\n",
      "126086431    1\n",
      "383648078    1\n",
      "29833682     1\n",
      "209854929    1\n",
      "227858894    1\n",
      "179356109    1\n",
      "208062924    1\n",
      "188905610    1\n",
      "31177186     1\n",
      "86936036     1\n",
      "177908224    1\n",
      "174711851    1\n",
      "180310527    1\n",
      "237195160    1\n",
      "22635001     1\n",
      "360275138    1\n",
      "31134199     1\n",
      "187081850    1\n",
      "210829813    1\n",
      "195824116    1\n",
      "85146098     1\n",
      "193341936    1\n",
      "180146671    1\n",
      "180148718    1\n",
      "183229515    1\n",
      "172641155    1\n",
      "76214763     1\n",
      "228943803    1\n",
      "185032198    1\n",
      "1966080      1\n",
      "Name: Individual ID, Length: 43666, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: 所在地区处方药计划覆盖的比例\n",
      "--------------\n",
      "字段数据类型: int64\n",
      "--------------\n",
      "频数: 46    5765\n",
      "65    2634\n",
      "47    2518\n",
      "61    2002\n",
      "42    1782\n",
      "54    1779\n",
      "55    1627\n",
      "53    1588\n",
      "60    1531\n",
      "59    1441\n",
      "40    1441\n",
      "35    1423\n",
      "36    1201\n",
      "63    1111\n",
      "70    1089\n",
      "77    1082\n",
      "66    1061\n",
      "37     903\n",
      "49     869\n",
      "69     835\n",
      "51     805\n",
      "52     750\n",
      "58     607\n",
      "62     597\n",
      "38     574\n",
      "81     497\n",
      "78     488\n",
      "80     408\n",
      "83     398\n",
      "71     373\n",
      "      ... \n",
      "67     205\n",
      "44     203\n",
      "33     182\n",
      "82     154\n",
      "68     150\n",
      "90     148\n",
      "73     143\n",
      "87     131\n",
      "99     112\n",
      "56      87\n",
      "91      75\n",
      "72      54\n",
      "64      47\n",
      "48      11\n",
      "34       6\n",
      "32       6\n",
      "39       4\n",
      "26       4\n",
      "29       3\n",
      "41       2\n",
      "92       2\n",
      "97       2\n",
      "30       2\n",
      "31       2\n",
      "79       1\n",
      "86       1\n",
      "88       1\n",
      "27       1\n",
      "93       1\n",
      "95       1\n",
      "Name: 所在地区处方药计划覆盖的比例, Length: 69, dtype: int64\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "--------------\n",
      "缺失值个数: 0\n",
      "字段名: zip level的家庭收入排名\n",
      "--------------\n",
      "字段数据类型: int64\n",
      "--------------\n",
      "频数: 0    6326\n",
      "9    5119\n",
      "8    4784\n",
      "1    4657\n",
      "7    4191\n",
      "2    3998\n",
      "6    3896\n",
      "3    3611\n",
      "5    3549\n",
      "4    3535\n",
      "Name: zip level的家庭收入排名, dtype: int64\n",
      "--------------\n",
      "缺失值个数: 0\n"
     ]
    }
   ],
   "source": [
    "fre(data59)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "id": "finnish-values",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x29d9c98ea58>"
      ]
     },
     "execution_count": 53,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "Text(0.5, 0, '所处省份')"
      ]
     },
     "execution_count": 53,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "Text(0, 0.5, '购买数量')"
      ]
     },
     "execution_count": 53,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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7t6QJk2axLvvvkv9+vXp27cvHTp0oEWLFlVe93yv95YtW3jjjTdYvHhxldc8bd26dYwaNQqLxUJISAi9evVi5cqV9O3blw0bNnjtDX3ahg0b+Pbbb1m+fDlvvPGG12tv27aNrVu3smrVKrZv386cOXNYtmyZ17ftt956C6vVyqpVq/j3v/9NYmJildcoT3R0NBkZGRw7doxffvmFI0eOEBUVxU8//VQt9c/cvqrbue9ngIULF1K3bt0qrXPZ72F89tlndO3aFYvFQnh4OH379iUvL4/t27fTr18/vvjii2rtT0xMDDt27ODgwYNerdOwYUMyMjL49ddfsdlshIeH06BBAywWC23btmX79u1eqVve611SUuKVWue68cYbzwqkBx54gA8++ICFCxeSkJBAUFCQ12pnZGTw7LPPsmDBAgIDA6ul9saNG+nYsSMAcXFxTJgwgeLiYq9v22lpae66N910k9e2pXNFR0ezadMm2rVrx88//0xubm6Vf2BW5Nztqzqd+X5u0KCB1+pc9oFx9OjRs64ef+ihh/juu+9o1aoVt99+OykpKdXaH4vFwtChQ72+4bVo0YLt27dTu3Zt8vLyqF27tvux2rVrk5ub65W65b3e/v7+Xql1rl69epGWlsahQ4eAU39n7969+eyzz7x++PGTTz7Bz8+PzMzMaqt97NgxQkJCSE1NZciQIUyfPp1NmzZ5fds+c3s6vS39/vvv7sMjaWlpXqkbHR3NN998Q5cuXdi9ezehoaFeqXM+525fRUVF7r95/fr1Xq195vvZbDYDpw79na5fVS77wLDZbOTn57t/HzZsGP/+97/56aefePnll9m6dWu1T3h47733kpqa6v5w8Ya4uDjWrFlDkyZNqFOnzllzdOXn51OnjvHbO3qivNfbbq+em95bLBaGDBlCcnKye9l1113H1Vdf7fXQGjp0KJMnT+bZZ5/l9KVP3q59+v+1Xbt2LF26lCNHjvD55597fds+c3s6vS1FRUWxYsUKVqxY4bWLb6Ojo9m6dSvNmzfnl19+ITo62it1zufc7SsoKMj9N99xxx1erX3m+/m0hQsXuutXlcs+MG688Ua++OILnE4nv/32G7///jtff/01K1asYOXKldx8881s3LixWvvk7+/PAw884J5DyxtiY2P56aefaN68OYGBgRw7doxDhw5RUlJCamrqWQN2Vam81zsgIMArtcrTu3dvMjIyqq3eaVarlVtvvZVatWqxdu3aaqnZrl07UlJScDqdpKen43K5+PLLL72+bbdu3Zqvv/4aOHVYzFvb0rmio6NxOBzExMQQFRVFVFRUtdQ9k6+2rzPfz9502QdGhw4daNeuHQMHDmTs2LHMmDGDK664gvr16wPQsWPHaj8sBXDfffd5dbDdz8+PZs2a0bx5c/z9/XnuuecYPXo0AwcO5I477vDahlfe612dAgICePDBB6u15pkmTZrEvHnzztrL8pbOnTvTokUL95lvhw4dqpZte8CAAeTn5zNgwABWricADIkAAAW+SURBVFzJ5MmTq7xGeRo2bEhYWBihoaHExMRU+x4G+G77OvP9fNqZh6Sq6h5CmhpEREQMuez3MERExBgFhoiIGKLAEBERQxQYIlXE5XKhIUG5lCkwRCpRUlLCli1bzrpexOVyceDAAXbv3u1e9uOPP9KjRw8cDod72XPPPcfbb79daY3JkyezevVq4NT0MOUpLCxkxowZlJaWuvsFGHp+kapw2c8lJXI+GzduJCkpicDAQBo0aEBISAirVq0iIyOD0tJSrFYrrVq1Ii4uDoDvv/+e5s2bu6+0BQgMDDzvhXlFRUU8/vjjTJs2DYvF4p6D6Pnnn8ff358xY8bg5/ef73RffPEFmZmZWCwWfv75Z8aOHcuaNWtYt24dbdu2JTY21ouvhogCQ+S8jh8/TvPmzc+6juDnn39m9uzZ5V4UlpKS4t7LANyzl5pMJpxO51kf/kVFRYwdO5YrrriCiIgI/Pz8MJlMlJaW0qpVKz788ENGjRrFvHnz3Bc2Llu2jKeeegqATz/9lK5duwJwxx138K9//YsnnnjCOy+EyP/RISmR8zCbzezevZvk5GSSk5MpLCw870ykf/zxBzt37mTDhg2sXbuW+vXrY7PZAPj111/p37//WdOvjB07lkaNGjFt2jT3srS0NHr37s3HH3/MzJkzufbaaykqKgJOzXS7Y8cOmjdvTl5eHu+//z4DBw4EID4+ns8//5ysrCwvvRIipygwRM7DbDZTt25dmjZtyocffkhxcTFOp5PHHnuM/v37c++999KjRw/27dvH4sWLKSoq4s8//wTgp59+cs/r06hRI7p27cojjzxCcXExAHPnzmXChAkcOXKE5ORkvv76a5xOJ3PnzuWll17CarXy2GOPYbPZyM7OZu7cudSqVQuAmTNn0qtXL/dMrFarlYceeogpU6a4xzdEvEGBIXIeTqeTyMhIOnXqRGhoKBaLhfz8fJYsWcLs2bMJDg5m7dq15Obmsm3bNsaOHcs777zD/v37iY6Odn/Aw6lZeaOioti3bx+HDh1i4cKF9OnThx49evDpp59is9nYs2cPEyZM4N577yUuLs49yP79999z//33Y7PZePPNNzl8+DAff/wxcXFx9OjRgx49ejB16lScTidffvmlj14tuRxoDEPkPE7vDZypsLCQ0NDQs6Z/b9KkCS+//DIRERH06NGDn3/+mdtuu63MurNmzQJOnd0UGBjIgAED+Pzzz1m4cGGZtp06dXIPlnfp0gWAxYsXEx8fT3x8PEFBQdxzzz3uiQw7duzIokWLfHLzHrl8aOsSOY/s7GzWrVtHamoqAHa7HYvFctbgNZw6JGS1WgEYPnw406dPd49NOByOs06zhVOzEY8aNYqdO3cyZ84cBgwYUKb2iRMnMJlMZZafHhf55ZdfiIyMdNfw9/dXWIjXaQsTOY9ff/2VcePG0atXL+DUaa0VTdV94sQJ3nvvPe68805mzZrFM888Q3R0NOHh4eddJzIykvvuu6/M8tP3dT+f9evXc+ONNwKnzrg68/CXiLdoDEOkHE6nk82bN9O2bVvg1IV6r776Kr1793Y/fuZV3d999x2DBw9m9OjRvPDCCzRo0IC77rqLY8eOYbFYOHLkCCdOnKCwsPCsGrVr16Zhw4Zl/pnN5jIX8J3eW9m6dSvvvPMO9913H4WFhezcubNab0Uqly/tYYiUY+/evcTFxbmvt3jzzTdp0qSJ+34DdrvdPSj91Vdf8dxzzzF37lz+9re/ATBmzBjuuecePvroIxYvXsz+/fvJycnhrbfeokWLFgCUlpaSkZHBCy+8UKZ+bm6ue6zjtNLSUv7880+mT5/Oyy+/TFhYGPPmzePLL7/kscce8+rrIQK6H4aIISUlJTgcDoKCgs77uKe3WnU4HJSWlp4VCkacexGgSHVRYIiIiCH6miIiIoYoMERExBAFhoiIGKLAEBERQxQYIiJiyP8HPYrVsnAuTHYAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.countplot(x='STATE_NAME',hue='resp_flag',data = data_01)\n",
    "plt.xlabel(\"所处省份\")\n",
    "plt.ylabel('购买数量')\n",
    "#解读：日后可重点在NY/CH两个城市做营销"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "id": "pleased-amateur",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x29daece7fd0>"
      ]
     },
     "execution_count": 54,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "a  = chinese(data_01[['c210apvt','c210blu','c210bpvt','c210mob','c210wht','zhip19']])\n",
    "sns.heatmap(a.corr(),cmap = 'Blues')\n",
    "#解读：对于产品来说，希望贫穷以上和白领的购买，因此删除贫穷相关的字段"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "id": "specific-quarter",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x29db0382710>"
      ]
     },
     "execution_count": 55,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.heatmap(data59.corr(),cmap='brg')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "compact-infection",
   "metadata": {},
   "source": [
    "## 数据清洗data_02"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "id": "protected-sessions",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(43666, 76)"
      ]
     },
     "execution_count": 56,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_02 = data_01.copy()\n",
    "data_02.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "tamil-field",
   "metadata": {},
   "source": [
    "### 删除特征"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "id": "prostate-granny",
   "metadata": {},
   "outputs": [],
   "source": [
    "del_col = ['KBM_INDV_ID','U18','POEP','AART','AHCH','AASN','COLLEGE','INVE','c210cip','c210hmi','c210hva','c210kses','c210blu','c210bpvt','c210poo','KBM_INDV_ID','meda']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "id": "animal-sustainability",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(43666, 60)"
      ]
     },
     "execution_count": 58,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_02 = data_02.drop(columns = del_col)\n",
    "data_02.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "convinced-waters",
   "metadata": {},
   "source": [
    "### 删除重复值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "id": "becoming-affect",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(43666, 60)"
      ]
     },
     "execution_count": 59,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_02 = data_02.drop_duplicates()\n",
    "data_02.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "invisible-economics",
   "metadata": {},
   "source": [
    "### 划分训练集与测试集"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "incorrect-establishment",
   "metadata": {},
   "source": [
    "---一定要先划分数据集，再填充、转码"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "id": "informal-bacteria",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    26177\n",
       "1    17489\n",
       "Name: resp_flag, dtype: int64"
      ]
     },
     "execution_count": 60,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_02.resp_flag.value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "id": "surprised-camel",
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.model_selection import train_test_split\n",
    "y = data_02.pop('resp_flag')  #标签\n",
    "X=data_02  #特征\n",
    "\n",
    "Xteain,Xtest,Ytrain,Ytest = train_test_split(X,y,test_size = 0.3,random_state = 100)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "id": "anonymous-photographer",
   "metadata": {},
   "outputs": [],
   "source": [
    "Xtrain_01 = Xteain.copy()\n",
    "Xtest_01 = Xtest.copy()\n",
    "Ytrain_01 = Ytrain.copy()\n",
    "Ytest_01 = Ytest.copy()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "light-mapping",
   "metadata": {},
   "source": [
    "### 填充缺失值"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "nervous-directive",
   "metadata": {},
   "source": [
    "#### 填充中位数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "id": "premier-arthur",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "age         71.0\n",
       "c210mah     53.0\n",
       "c210b200    10.0\n",
       "c210psu     77.0\n",
       "c210wht     61.0\n",
       "ilor        15.0\n",
       "dtype: float64"
      ]
     },
     "execution_count": 63,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "fil = ['age','c210mah','c210b200','c210psu','c210wht','ilor']\n",
    "Xtrain_01[fil].median()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "id": "removed-google",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'age': 71.0,\n",
       " 'c210mah': 53.0,\n",
       " 'c210b200': 10.0,\n",
       " 'c210psu': 77.0,\n",
       " 'c210wht': 61.0,\n",
       " 'ilor': 15.0}"
      ]
     },
     "execution_count": 64,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dict(Xtrain_01[fil].median())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "id": "intimate-abraham",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'age': 71.0,\n",
       " 'c210mah': 53.0,\n",
       " 'c210b200': 10.0,\n",
       " 'c210psu': 77.0,\n",
       " 'c210wht': 61.0,\n",
       " 'ilor': 15.0}"
      ]
     },
     "execution_count": 65,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dic = dict(zip(Xtrain_01[fil].median().index,Xtrain_01[fil].median()))#??搞那么复杂？\n",
    "dic"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "id": "decimal-underwear",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>GEND</th>\n",
       "      <th>CA00</th>\n",
       "      <th>CA03</th>\n",
       "      <th>CA06</th>\n",
       "      <th>CA11</th>\n",
       "      <th>CA16</th>\n",
       "      <th>ADBT</th>\n",
       "      <th>ADEP</th>\n",
       "      <th>AHBP</th>\n",
       "      <th>ARES</th>\n",
       "      <th>...</th>\n",
       "      <th>c210mys</th>\n",
       "      <th>c210pdv</th>\n",
       "      <th>c210pmr</th>\n",
       "      <th>c210psu</th>\n",
       "      <th>c210pwc</th>\n",
       "      <th>c210wht</th>\n",
       "      <th>ilor</th>\n",
       "      <th>pdpe</th>\n",
       "      <th>tins</th>\n",
       "      <th>zhip19</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>18001</th>\n",
       "      <td>M</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>...</td>\n",
       "      <td>4</td>\n",
       "      <td>15</td>\n",
       "      <td>56</td>\n",
       "      <td>75.0</td>\n",
       "      <td>33</td>\n",
       "      <td>66.0</td>\n",
       "      <td>33.0</td>\n",
       "      <td>55</td>\n",
       "      <td>12</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22763</th>\n",
       "      <td>F</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "      <td>...</td>\n",
       "      <td>4</td>\n",
       "      <td>10</td>\n",
       "      <td>50</td>\n",
       "      <td>78.0</td>\n",
       "      <td>42</td>\n",
       "      <td>56.0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>69</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>40488</th>\n",
       "      <td>F</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>Y</td>\n",
       "      <td>N</td>\n",
       "      <td>...</td>\n",
       "      <td>4</td>\n",
       "      <td>17</td>\n",
       "      <td>51</td>\n",
       "      <td>82.0</td>\n",
       "      <td>40</td>\n",
       "      <td>54.0</td>\n",
       "      <td>19.0</td>\n",
       "      <td>81</td>\n",
       "      <td>12</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22585</th>\n",
       "      <td>F</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>...</td>\n",
       "      <td>3</td>\n",
       "      <td>26</td>\n",
       "      <td>30</td>\n",
       "      <td>29.0</td>\n",
       "      <td>16</td>\n",
       "      <td>66.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>66</td>\n",
       "      <td>7</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12204</th>\n",
       "      <td>M</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>...</td>\n",
       "      <td>6</td>\n",
       "      <td>17</td>\n",
       "      <td>61</td>\n",
       "      <td>99.0</td>\n",
       "      <td>34</td>\n",
       "      <td>83.0</td>\n",
       "      <td>16.0</td>\n",
       "      <td>70</td>\n",
       "      <td>13</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 59 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "      GEND  CA00  CA03  CA06  CA11  CA16 ADBT ADEP AHBP ARES  ... c210mys  \\\n",
       "18001    M     0     0     0     0     0    N    N    N    N  ...       4   \n",
       "22763    F     0     0     0     0     0    N    N    Y    Y  ...       4   \n",
       "40488    F     0     0     0     0     0    N    N    Y    N  ...       4   \n",
       "22585    F     0     0     0     0     0    N    N    N    N  ...       3   \n",
       "12204    M     0     4     0     0     0    N    N    N    N  ...       6   \n",
       "\n",
       "      c210pdv c210pmr c210psu c210pwc c210wht  ilor pdpe tins zhip19  \n",
       "18001      15      56    75.0      33    66.0  33.0   55   12      9  \n",
       "22763      10      50    78.0      42    56.0   6.0   69    3      1  \n",
       "40488      17      51    82.0      40    54.0  19.0   81   12      4  \n",
       "22585      26      30    29.0      16    66.0   3.0   66    7      0  \n",
       "12204      17      61    99.0      34    83.0  16.0   70   13      7  \n",
       "\n",
       "[5 rows x 59 columns]"
      ]
     },
     "execution_count": 66,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#向训练集填充中位数\n",
    "Xtrain_01 = Xtrain_01.fillna(dic)\n",
    "Xtrain_01.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "heated-crowd",
   "metadata": {},
   "source": [
    "#### 填充众数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "id": "afraid-tours",
   "metadata": {},
   "outputs": [],
   "source": [
    "mod = [\"N1819\",\"ASKN\",\"MOBPLUS\",\"N2NCY\",\"LIVEWELL\",\"HOMSTAT\",\"HINSUB\"]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "id": "behavioral-milwaukee",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>N1819</th>\n",
       "      <th>ASKN</th>\n",
       "      <th>MOBPLUS</th>\n",
       "      <th>N2NCY</th>\n",
       "      <th>LIVEWELL</th>\n",
       "      <th>HOMSTAT</th>\n",
       "      <th>HINSUB</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>M</td>\n",
       "      <td>A</td>\n",
       "      <td>4.0</td>\n",
       "      <td>Y</td>\n",
       "      <td>U</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  N1819 ASKN MOBPLUS N2NCY  LIVEWELL HOMSTAT HINSUB\n",
       "0     N    N       M     A       4.0       Y      U"
      ]
     },
     "execution_count": 68,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Xtrain_01[mod].mode()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "id": "painted-night",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'N1819': 'N',\n",
       " 'ASKN': 'N',\n",
       " 'MOBPLUS': 'S',\n",
       " 'N2NCY': 'A',\n",
       " 'LIVEWELL': 1.0,\n",
       " 'HOMSTAT': 'Y',\n",
       " 'HINSUB': 'C'}"
      ]
     },
     "execution_count": 69,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dic_mod = dict(zip(Xtrain_01[mod].mode().columns,Xtrain_01[mod].loc[0]))\n",
    "dic_mod"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "id": "endless-teach",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>GEND</th>\n",
       "      <th>CA00</th>\n",
       "      <th>CA03</th>\n",
       "      <th>CA06</th>\n",
       "      <th>CA11</th>\n",
       "      <th>CA16</th>\n",
       "      <th>ADBT</th>\n",
       "      <th>ADEP</th>\n",
       "      <th>AHBP</th>\n",
       "      <th>ARES</th>\n",
       "      <th>...</th>\n",
       "      <th>c210mys</th>\n",
       "      <th>c210pdv</th>\n",
       "      <th>c210pmr</th>\n",
       "      <th>c210psu</th>\n",
       "      <th>c210pwc</th>\n",
       "      <th>c210wht</th>\n",
       "      <th>ilor</th>\n",
       "      <th>pdpe</th>\n",
       "      <th>tins</th>\n",
       "      <th>zhip19</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>18001</th>\n",
       "      <td>M</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>...</td>\n",
       "      <td>4</td>\n",
       "      <td>15</td>\n",
       "      <td>56</td>\n",
       "      <td>75.0</td>\n",
       "      <td>33</td>\n",
       "      <td>66.0</td>\n",
       "      <td>33.0</td>\n",
       "      <td>55</td>\n",
       "      <td>12</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22763</th>\n",
       "      <td>F</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "      <td>...</td>\n",
       "      <td>4</td>\n",
       "      <td>10</td>\n",
       "      <td>50</td>\n",
       "      <td>78.0</td>\n",
       "      <td>42</td>\n",
       "      <td>56.0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>69</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>40488</th>\n",
       "      <td>F</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>Y</td>\n",
       "      <td>N</td>\n",
       "      <td>...</td>\n",
       "      <td>4</td>\n",
       "      <td>17</td>\n",
       "      <td>51</td>\n",
       "      <td>82.0</td>\n",
       "      <td>40</td>\n",
       "      <td>54.0</td>\n",
       "      <td>19.0</td>\n",
       "      <td>81</td>\n",
       "      <td>12</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22585</th>\n",
       "      <td>F</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>...</td>\n",
       "      <td>3</td>\n",
       "      <td>26</td>\n",
       "      <td>30</td>\n",
       "      <td>29.0</td>\n",
       "      <td>16</td>\n",
       "      <td>66.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>66</td>\n",
       "      <td>7</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12204</th>\n",
       "      <td>M</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>...</td>\n",
       "      <td>6</td>\n",
       "      <td>17</td>\n",
       "      <td>61</td>\n",
       "      <td>99.0</td>\n",
       "      <td>34</td>\n",
       "      <td>83.0</td>\n",
       "      <td>16.0</td>\n",
       "      <td>70</td>\n",
       "      <td>13</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 59 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "      GEND  CA00  CA03  CA06  CA11  CA16 ADBT ADEP AHBP ARES  ... c210mys  \\\n",
       "18001    M     0     0     0     0     0    N    N    N    N  ...       4   \n",
       "22763    F     0     0     0     0     0    N    N    Y    Y  ...       4   \n",
       "40488    F     0     0     0     0     0    N    N    Y    N  ...       4   \n",
       "22585    F     0     0     0     0     0    N    N    N    N  ...       3   \n",
       "12204    M     0     4     0     0     0    N    N    N    N  ...       6   \n",
       "\n",
       "      c210pdv c210pmr c210psu c210pwc c210wht  ilor pdpe tins zhip19  \n",
       "18001      15      56    75.0      33    66.0  33.0   55   12      9  \n",
       "22763      10      50    78.0      42    56.0   6.0   69    3      1  \n",
       "40488      17      51    82.0      40    54.0  19.0   81   12      4  \n",
       "22585      26      30    29.0      16    66.0   3.0   66    7      0  \n",
       "12204      17      61    99.0      34    83.0  16.0   70   13      7  \n",
       "\n",
       "[5 rows x 59 columns]"
      ]
     },
     "execution_count": 70,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Xtrain_01 = Xtrain_01.fillna(dic_mod)\n",
    "Xtrain_01.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "outer-origin",
   "metadata": {},
   "source": [
    "#### 替换填充"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 71,
   "id": "moved-notebook",
   "metadata": {},
   "outputs": [],
   "source": [
    "Xtrain_01['N6064'] = Xtrain_01['N6064'].replace('0','N')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "above-confirmation",
   "metadata": {},
   "source": [
    "#### 验证替换效果"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "id": "female-folks",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "GEND          0\n",
       "CA00          0\n",
       "CA03          0\n",
       "CA06          0\n",
       "CA11          0\n",
       "CA16          0\n",
       "ADBT          0\n",
       "ADEP          0\n",
       "AHBP          0\n",
       "ARES          0\n",
       "AHRT          0\n",
       "ADGS          0\n",
       "AHRL          0\n",
       "ASKN          0\n",
       "AVIS          0\n",
       "BANK          0\n",
       "FINI          0\n",
       "INLI          0\n",
       "INMEDI        0\n",
       "IOLP          0\n",
       "MOBPLUS       0\n",
       "N2NCY         0\n",
       "N1819         0\n",
       "N2029         0\n",
       "N3039         0\n",
       "N4049         0\n",
       "N5059         0\n",
       "N6064         0\n",
       "N65P          0\n",
       "ONLA          0\n",
       "SGFA          0\n",
       "SGLL          0\n",
       "SGOE          0\n",
       "SGSE          0\n",
       "SGTC          0\n",
       "LIVEWELL      0\n",
       "NOC19         0\n",
       "NAH19         0\n",
       "NPH19         0\n",
       "POC19         0\n",
       "HOMSTAT       0\n",
       "HINSUB        0\n",
       "STATE_NAME    0\n",
       "age           0\n",
       "c210apvt      0\n",
       "c210b200      0\n",
       "c210ebi       0\n",
       "c210mah       0\n",
       "c210mob       0\n",
       "c210mys       0\n",
       "c210pdv       0\n",
       "c210pmr       0\n",
       "c210psu       0\n",
       "c210pwc       0\n",
       "c210wht       0\n",
       "ilor          0\n",
       "pdpe          0\n",
       "tins          0\n",
       "zhip19        0\n",
       "dtype: int64"
      ]
     },
     "execution_count": 72,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Xtrain_01.isnull().sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "id": "eight-calculator",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Series([], dtype: int64)"
      ]
     },
     "execution_count": 73,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Xtrain_01.isnull().sum()[Xtrain_01.isnull().sum()!=0]#确定已将所有缺失数据都补上"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "little-october",
   "metadata": {},
   "source": [
    "#### 对测试集进行填充"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "reliable-workstation",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "id": "monthly-typing",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Series([], dtype: int64)"
      ]
     },
     "execution_count": 74,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 需要填的字段\n",
    "fil = [\"age\",\"c210mah\",\"c210b200\",\"c210psu\",\"c210wht\",\"ilor\"]\n",
    "\n",
    "#填充中位数--测试集\n",
    "\n",
    "dic = dict(zip(Xtest_01[fil].median().index,Xtest_01[fil].median()))\n",
    "\n",
    "Xtest_01 = Xtest_01.fillna(dic) \n",
    "\n",
    "# #填充众数--测试集\n",
    "mod = [\"N1819\",\"ASKN\",\"MOBPLUS\",\"N2NCY\",\"LIVEWELL\",\"HOMSTAT\",\"HINSUB\"]\n",
    "\n",
    "dic_mod = dict(zip(Xtest_01[mod].mode().columns,Xtest_01[mod].iloc[0,:]))\n",
    "\n",
    "Xtest_01 = Xtest_01.fillna(dic_mod) \n",
    "\n",
    "# #替换填充\n",
    "Xtest_01['N6064'] = Xtest_01['N6064'].replace('0','N') \n",
    "\n",
    "Xtest_01.isnull().sum()[Xtest_01.isnull().sum() !=0]"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "transparent-composition",
   "metadata": {},
   "source": [
    "## 特征工程之转码Xtrain_01"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "id": "accepting-dispute",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>变量名</th>\n",
       "      <th>转</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>GEND</td>\n",
       "      <td>0-1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>c210mys</td>\n",
       "      <td>哑变量</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>POC19</td>\n",
       "      <td>哑变量</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>N1819</td>\n",
       "      <td>0-1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>N2029</td>\n",
       "      <td>0-1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>N3039</td>\n",
       "      <td>0-1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>N4049</td>\n",
       "      <td>0-1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>N5059</td>\n",
       "      <td>0-1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>N6064</td>\n",
       "      <td>0-1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>N65P</td>\n",
       "      <td>0-1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       变量名    转\n",
       "0     GEND  0-1\n",
       "1  c210mys  哑变量\n",
       "2    POC19  哑变量\n",
       "3    N1819  0-1\n",
       "4    N2029  0-1\n",
       "5    N3039  0-1\n",
       "6    N4049  0-1\n",
       "7    N5059  0-1\n",
       "8    N6064  0-1\n",
       "9     N65P  0-1"
      ]
     },
     "execution_count": 75,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "encod_col = pd.read_excel('./保险案例数据字典_清洗.xlsx',sheet_name='转码')\n",
    "encod_col.head(10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "id": "searching-official",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['GEND', 'ADBT', 'ADEP', 'AHBP', 'ARES', 'AHRT', 'ADGS', 'AHRL', 'ASKN',\n",
       "       'AVIS', 'BANK', 'FINI', 'INLI', 'INMEDI', 'IOLP', 'MOBPLUS', 'N2NCY',\n",
       "       'N1819', 'N2029', 'N3039', 'N4049', 'N5059', 'N6064', 'N65P', 'ONLA',\n",
       "       'SGFA', 'SGLL', 'SGOE', 'SGSE', 'SGTC', 'POC19', 'HOMSTAT', 'HINSUB',\n",
       "       'STATE_NAME'],\n",
       "      dtype='object')"
      ]
     },
     "execution_count": 76,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Xtrain_01.dtypes[Xtrain_01.dtypes == 'object'].index"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "id": "color-adventure",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['GEND', 'ADBT', 'ADEP', 'AHBP', 'ARES', 'AHRT', 'ADGS', 'AHRL', 'ASKN',\n",
       "       'AVIS', 'BANK', 'FINI', 'INLI', 'INMEDI', 'IOLP', 'MOBPLUS', 'N2NCY',\n",
       "       'N1819', 'N2029', 'N3039', 'N4049', 'N5059', 'N6064', 'N65P', 'ONLA',\n",
       "       'SGFA', 'SGLL', 'SGOE', 'SGSE', 'SGTC', 'POC19', 'HOMSTAT', 'HINSUB',\n",
       "       'STATE_NAME'],\n",
       "      dtype='object')"
      ]
     },
     "execution_count": 77,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#查看训练集中object类型\n",
    "import numpy as np\n",
    "# Xtrain_01.describe(include = ['O'])#报错？？？换个办法吧\n",
    "object_tr = Xtrain_01.dtypes[Xtrain_01.dtypes == 'object'].index\n",
    "object_tr"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 78,
   "id": "solved-ethernet",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([], dtype=object)"
      ]
     },
     "execution_count": 78,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#检查一下转码的目标是否出现\n",
    "np.setdiff1d(object_tr,encod_col['变量名'])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "executive-planet",
   "metadata": {},
   "source": [
    "### 0-1转码"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "id": "careful-treatment",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0       GEND\n",
       "3      N1819\n",
       "4      N2029\n",
       "5      N3039\n",
       "6      N4049\n",
       "7      N5059\n",
       "8      N6064\n",
       "9       N65P\n",
       "10      ADBT\n",
       "11      ADEP\n",
       "12      AHBP\n",
       "13      ARES\n",
       "14      AHRT\n",
       "15      ADGS\n",
       "16      AHRL\n",
       "17      ASKN\n",
       "18      AVIS\n",
       "19      BANK\n",
       "20      FINI\n",
       "21      INLI\n",
       "22    INMEDI\n",
       "23      IOLP\n",
       "26      ONLA\n",
       "27      SGFA\n",
       "28      SGLL\n",
       "29      SGOE\n",
       "30      SGSE\n",
       "31      SGTC\n",
       "Name: 变量名, dtype: object"
      ]
     },
     "execution_count": 79,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#获取需要进行0-1转码的变量名\n",
    "z_0_list = encod_col[encod_col['转']=='0-1'].变量名\n",
    "z_0_list"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 80,
   "id": "hearing-nicholas",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>GEND</th>\n",
       "      <th>N1819</th>\n",
       "      <th>N2029</th>\n",
       "      <th>N3039</th>\n",
       "      <th>N4049</th>\n",
       "      <th>N5059</th>\n",
       "      <th>N6064</th>\n",
       "      <th>N65P</th>\n",
       "      <th>ADBT</th>\n",
       "      <th>ADEP</th>\n",
       "      <th>...</th>\n",
       "      <th>FINI</th>\n",
       "      <th>INLI</th>\n",
       "      <th>INMEDI</th>\n",
       "      <th>IOLP</th>\n",
       "      <th>ONLA</th>\n",
       "      <th>SGFA</th>\n",
       "      <th>SGLL</th>\n",
       "      <th>SGOE</th>\n",
       "      <th>SGSE</th>\n",
       "      <th>SGTC</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>18001</th>\n",
       "      <td>M</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>Y</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>...</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>Y</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22763</th>\n",
       "      <td>F</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>...</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>40488</th>\n",
       "      <td>F</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>Y</td>\n",
       "      <td>N</td>\n",
       "      <td>Y</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>...</td>\n",
       "      <td>N</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22585</th>\n",
       "      <td>F</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>Y</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>...</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>Y</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12204</th>\n",
       "      <td>M</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>Y</td>\n",
       "      <td>N</td>\n",
       "      <td>Y</td>\n",
       "      <td>N</td>\n",
       "      <td>Y</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>...</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>Y</td>\n",
       "      <td>N</td>\n",
       "      <td>Y</td>\n",
       "      <td>N</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 28 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "      GEND N1819 N2029 N3039 N4049 N5059 N6064 N65P ADBT ADEP  ... FINI INLI  \\\n",
       "18001    M     N     N     Y     Y     N     N    Y    N    N  ...    N    N   \n",
       "22763    F     N     N     N     N     N     Y    Y    N    N  ...    N    N   \n",
       "40488    F     N     N     N     N     Y     N    Y    N    N  ...    N    Y   \n",
       "22585    F     N     N     N     N     N     N    Y    N    N  ...    N    N   \n",
       "12204    M     N     N     Y     N     Y     N    Y    N    N  ...    N    N   \n",
       "\n",
       "      INMEDI IOLP ONLA SGFA SGLL SGOE SGSE SGTC  \n",
       "18001      N    N    Y    N    N    N    N    N  \n",
       "22763      N    Y    Y    Y    N    N    Y    Y  \n",
       "40488      Y    Y    Y    Y    Y    Y    Y    Y  \n",
       "22585      N    N    Y    N    N    N    N    N  \n",
       "12204      N    N    Y    N    Y    N    Y    Y  \n",
       "\n",
       "[5 rows x 28 columns]"
      ]
     },
     "execution_count": 80,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#\n",
    "Xtrain_02 = Xtrain_01[z_0_list]\n",
    "Xtrain_02.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "id": "serial-campbell",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[1., 0., 0., ..., 0., 0., 0.],\n",
       "       [0., 0., 0., ..., 0., 1., 1.],\n",
       "       [0., 0., 0., ..., 1., 1., 1.],\n",
       "       ...,\n",
       "       [0., 0., 0., ..., 0., 0., 0.],\n",
       "       [0., 0., 0., ..., 0., 1., 1.],\n",
       "       [1., 0., 1., ..., 1., 1., 1.]])"
      ]
     },
     "execution_count": 81,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.preprocessing import OrdinalEncoder\n",
    "#使用fit_transform直接转\n",
    "new_arr = OrdinalEncoder().fit_transform(Xtrain_02)\n",
    "new_arr"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 82,
   "id": "sexual-facial",
   "metadata": {},
   "outputs": [],
   "source": [
    "#设置表头和索引与之前的一致\n",
    "new_df =pd.DataFrame(data = new_arr,columns=Xtrain_02.columns,index = Xtrain_02.index)\n",
    "Xtrain_02 = new_df"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "dense-namibia",
   "metadata": {},
   "source": [
    "将转好的Xtrain_02 0-1编码变量替换掉Xtrain_01"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 83,
   "id": "committed-lawrence",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>GEND</th>\n",
       "      <th>CA00</th>\n",
       "      <th>CA03</th>\n",
       "      <th>CA06</th>\n",
       "      <th>CA11</th>\n",
       "      <th>CA16</th>\n",
       "      <th>ADBT</th>\n",
       "      <th>ADEP</th>\n",
       "      <th>AHBP</th>\n",
       "      <th>ARES</th>\n",
       "      <th>...</th>\n",
       "      <th>c210mys</th>\n",
       "      <th>c210pdv</th>\n",
       "      <th>c210pmr</th>\n",
       "      <th>c210psu</th>\n",
       "      <th>c210pwc</th>\n",
       "      <th>c210wht</th>\n",
       "      <th>ilor</th>\n",
       "      <th>pdpe</th>\n",
       "      <th>tins</th>\n",
       "      <th>zhip19</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>18001</th>\n",
       "      <td>1.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>4</td>\n",
       "      <td>15</td>\n",
       "      <td>56</td>\n",
       "      <td>75.0</td>\n",
       "      <td>33</td>\n",
       "      <td>66.0</td>\n",
       "      <td>33.0</td>\n",
       "      <td>55</td>\n",
       "      <td>12</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22763</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>...</td>\n",
       "      <td>4</td>\n",
       "      <td>10</td>\n",
       "      <td>50</td>\n",
       "      <td>78.0</td>\n",
       "      <td>42</td>\n",
       "      <td>56.0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>69</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>40488</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>4</td>\n",
       "      <td>17</td>\n",
       "      <td>51</td>\n",
       "      <td>82.0</td>\n",
       "      <td>40</td>\n",
       "      <td>54.0</td>\n",
       "      <td>19.0</td>\n",
       "      <td>81</td>\n",
       "      <td>12</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22585</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>3</td>\n",
       "      <td>26</td>\n",
       "      <td>30</td>\n",
       "      <td>29.0</td>\n",
       "      <td>16</td>\n",
       "      <td>66.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>66</td>\n",
       "      <td>7</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12204</th>\n",
       "      <td>1.0</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>6</td>\n",
       "      <td>17</td>\n",
       "      <td>61</td>\n",
       "      <td>99.0</td>\n",
       "      <td>34</td>\n",
       "      <td>83.0</td>\n",
       "      <td>16.0</td>\n",
       "      <td>70</td>\n",
       "      <td>13</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 59 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       GEND  CA00  CA03  CA06  CA11  CA16  ADBT  ADEP  AHBP  ARES  ...  \\\n",
       "18001   1.0     0     0     0     0     0   0.0   0.0   0.0   0.0  ...   \n",
       "22763   0.0     0     0     0     0     0   0.0   0.0   1.0   1.0  ...   \n",
       "40488   0.0     0     0     0     0     0   0.0   0.0   1.0   0.0  ...   \n",
       "22585   0.0     0     0     0     0     0   0.0   0.0   0.0   0.0  ...   \n",
       "12204   1.0     0     4     0     0     0   0.0   0.0   0.0   0.0  ...   \n",
       "\n",
       "       c210mys  c210pdv  c210pmr  c210psu  c210pwc  c210wht  ilor  pdpe  tins  \\\n",
       "18001        4       15       56     75.0       33     66.0  33.0    55    12   \n",
       "22763        4       10       50     78.0       42     56.0   6.0    69     3   \n",
       "40488        4       17       51     82.0       40     54.0  19.0    81    12   \n",
       "22585        3       26       30     29.0       16     66.0   3.0    66     7   \n",
       "12204        6       17       61     99.0       34     83.0  16.0    70    13   \n",
       "\n",
       "       zhip19  \n",
       "18001       9  \n",
       "22763       1  \n",
       "40488       4  \n",
       "22585       0  \n",
       "12204       7  \n",
       "\n",
       "[5 rows x 59 columns]"
      ]
     },
     "execution_count": 83,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Xtrain_01[z_0_list] = Xtrain_02\n",
    "Xtrain_01.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "aggregate-characteristic",
   "metadata": {},
   "source": [
    "### 哑变量转码"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "noted-shaft",
   "metadata": {},
   "source": [
    "pandas的dummies方法，只能转字符类型的，数值类型的不能转     \n",
    "sklearn的one-hot都可以"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 84,
   "id": "demonstrated-formation",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1        c210mys\n",
       "2          POC19\n",
       "24       MOBPLUS\n",
       "25         N2NCY\n",
       "32      LIVEWELL\n",
       "33       HOMSTAT\n",
       "34        HINSUB\n",
       "35    STATE_NAME\n",
       "Name: 变量名, dtype: object"
      ]
     },
     "execution_count": 84,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#获取需要进行哑变量转码的变量名\n",
    "o_h_list = encod_col[encod_col['转']=='哑变量'].变量名\n",
    "o_h_list"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 85,
   "id": "supposed-providence",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>c210mys</th>\n",
       "      <th>POC19</th>\n",
       "      <th>MOBPLUS</th>\n",
       "      <th>N2NCY</th>\n",
       "      <th>LIVEWELL</th>\n",
       "      <th>HOMSTAT</th>\n",
       "      <th>HINSUB</th>\n",
       "      <th>STATE_NAME</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>18001</th>\n",
       "      <td>4</td>\n",
       "      <td>P</td>\n",
       "      <td>M</td>\n",
       "      <td>A</td>\n",
       "      <td>4.0</td>\n",
       "      <td>Y</td>\n",
       "      <td>U</td>\n",
       "      <td>OH</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22763</th>\n",
       "      <td>4</td>\n",
       "      <td>P</td>\n",
       "      <td>M</td>\n",
       "      <td>B</td>\n",
       "      <td>4.0</td>\n",
       "      <td>R</td>\n",
       "      <td>A</td>\n",
       "      <td>IN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>40488</th>\n",
       "      <td>4</td>\n",
       "      <td>P</td>\n",
       "      <td>M</td>\n",
       "      <td>A</td>\n",
       "      <td>1.0</td>\n",
       "      <td>Y</td>\n",
       "      <td>U</td>\n",
       "      <td>NH</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22585</th>\n",
       "      <td>3</td>\n",
       "      <td>U</td>\n",
       "      <td>M</td>\n",
       "      <td>C</td>\n",
       "      <td>2.0</td>\n",
       "      <td>Y</td>\n",
       "      <td>A</td>\n",
       "      <td>ME</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12204</th>\n",
       "      <td>6</td>\n",
       "      <td>Y</td>\n",
       "      <td>M</td>\n",
       "      <td>B</td>\n",
       "      <td>1.0</td>\n",
       "      <td>Y</td>\n",
       "      <td>U</td>\n",
       "      <td>KY</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       c210mys POC19 MOBPLUS N2NCY  LIVEWELL HOMSTAT HINSUB STATE_NAME\n",
       "18001        4     P       M     A       4.0       Y      U         OH\n",
       "22763        4     P       M     B       4.0       R      A         IN\n",
       "40488        4     P       M     A       1.0       Y      U         NH\n",
       "22585        3     U       M     C       2.0       Y      A         ME\n",
       "12204        6     Y       M     B       1.0       Y      U         KY"
      ]
     },
     "execution_count": 85,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Xtrain_01[o_h_list].head()\n",
    "#其中两个变量的数值明显是数值型的，无法使用dummies，需要先转换为字符型"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 86,
   "id": "breathing-stake",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['POC19', 'MOBPLUS', 'N2NCY', 'HOMSTAT', 'HINSUB', 'STATE_NAME']"
      ]
     },
     "execution_count": 86,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "o_h_01 = ['c210mys','LIVEWELL']#非字符型变量\n",
    "o_h_02 = [i for i in o_h_list if i not in o_h_01]#字符型变量\n",
    "o_h_02"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "received-musician",
   "metadata": {},
   "source": [
    "先转o_h_02-------Xtrain_02"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 87,
   "id": "varied-cooler",
   "metadata": {},
   "outputs": [],
   "source": [
    "dic = {k:v for k,v in feature_dict[['变量名','变量说明']].values.reshape(-1,2)}\n",
    "def chinese(x):\n",
    "    y = x.copy()\n",
    "    #将输入进来的字段名通过字典映射方式去对应\n",
    "    y.columns = pd.Series(y.columns).map(dic)\n",
    "    return y"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 88,
   "id": "comfortable-litigation",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>是否有小孩</th>\n",
       "      <th>是否通过快递买过东西</th>\n",
       "      <th>所处的县的大小</th>\n",
       "      <th>是否有房子</th>\n",
       "      <th>是否有医保补贴</th>\n",
       "      <th>所处的省份</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>18001</th>\n",
       "      <td>P</td>\n",
       "      <td>M</td>\n",
       "      <td>A</td>\n",
       "      <td>Y</td>\n",
       "      <td>U</td>\n",
       "      <td>OH</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22763</th>\n",
       "      <td>P</td>\n",
       "      <td>M</td>\n",
       "      <td>B</td>\n",
       "      <td>R</td>\n",
       "      <td>A</td>\n",
       "      <td>IN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>40488</th>\n",
       "      <td>P</td>\n",
       "      <td>M</td>\n",
       "      <td>A</td>\n",
       "      <td>Y</td>\n",
       "      <td>U</td>\n",
       "      <td>NH</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22585</th>\n",
       "      <td>U</td>\n",
       "      <td>M</td>\n",
       "      <td>C</td>\n",
       "      <td>Y</td>\n",
       "      <td>A</td>\n",
       "      <td>ME</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12204</th>\n",
       "      <td>Y</td>\n",
       "      <td>M</td>\n",
       "      <td>B</td>\n",
       "      <td>Y</td>\n",
       "      <td>U</td>\n",
       "      <td>KY</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      是否有小孩 是否通过快递买过东西 所处的县的大小 是否有房子 是否有医保补贴 所处的省份\n",
       "18001     P          M       A     Y       U    OH\n",
       "22763     P          M       B     R       A    IN\n",
       "40488     P          M       A     Y       U    NH\n",
       "22585     U          M       C     Y       A    ME\n",
       "12204     Y          M       B     Y       U    KY"
      ]
     },
     "execution_count": 88,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Xtrain_02 = Xtrain_01.copy()\n",
    "chinese(Xtrain_02[o_h_02].head())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 89,
   "id": "naked-limitation",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>是否有小孩</th>\n",
       "      <th>是否通过快递买过东西</th>\n",
       "      <th>所处的县的大小</th>\n",
       "      <th>是否有房子</th>\n",
       "      <th>是否有医保补贴</th>\n",
       "      <th>所处的省份</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>18001</th>\n",
       "      <td>P</td>\n",
       "      <td>M</td>\n",
       "      <td>A</td>\n",
       "      <td>Y</td>\n",
       "      <td>U</td>\n",
       "      <td>OH</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22763</th>\n",
       "      <td>P</td>\n",
       "      <td>M</td>\n",
       "      <td>B</td>\n",
       "      <td>R</td>\n",
       "      <td>A</td>\n",
       "      <td>IN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>40488</th>\n",
       "      <td>P</td>\n",
       "      <td>M</td>\n",
       "      <td>A</td>\n",
       "      <td>Y</td>\n",
       "      <td>U</td>\n",
       "      <td>NH</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22585</th>\n",
       "      <td>U</td>\n",
       "      <td>M</td>\n",
       "      <td>C</td>\n",
       "      <td>Y</td>\n",
       "      <td>A</td>\n",
       "      <td>ME</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12204</th>\n",
       "      <td>Y</td>\n",
       "      <td>M</td>\n",
       "      <td>B</td>\n",
       "      <td>Y</td>\n",
       "      <td>U</td>\n",
       "      <td>KY</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      是否有小孩 是否通过快递买过东西 所处的县的大小 是否有房子 是否有医保补贴 所处的省份\n",
       "18001     P          M       A     Y       U    OH\n",
       "22763     P          M       B     R       A    IN\n",
       "40488     P          M       A     Y       U    NH\n",
       "22585     U          M       C     Y       A    ME\n",
       "12204     Y          M       B     Y       U    KY"
      ]
     },
     "execution_count": 89,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "chinese(Xtrain_02[o_h_02]).head()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "historic-intent",
   "metadata": {},
   "source": [
    "#### 自己定义了一个能传df的get_dummies函数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 90,
   "id": "independent-latino",
   "metadata": {},
   "outputs": [],
   "source": [
    "def get_dummies_df(df):\n",
    "    df_f = pd.DataFrame()\n",
    "    for i in df.columns:\n",
    "        df_t = pd.get_dummies(df[i],prefix=i)\n",
    "        df_f = pd.concat([df_f,df_t],axis=1)\n",
    "    return df_f"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "adjustable-relevance",
   "metadata": {},
   "source": [
    "#### 继续进行该进行的工作"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 91,
   "id": "major-brooklyn",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>是否有小孩_P</th>\n",
       "      <th>是否有小孩_U</th>\n",
       "      <th>是否有小孩_Y</th>\n",
       "      <th>是否通过快递买过东西_M</th>\n",
       "      <th>是否通过快递买过东西_P</th>\n",
       "      <th>是否通过快递买过东西_S</th>\n",
       "      <th>是否通过快递买过东西_U</th>\n",
       "      <th>所处的县的大小_A</th>\n",
       "      <th>所处的县的大小_B</th>\n",
       "      <th>所处的县的大小_C</th>\n",
       "      <th>...</th>\n",
       "      <th>所处的省份_CT</th>\n",
       "      <th>所处的省份_GA</th>\n",
       "      <th>所处的省份_IN</th>\n",
       "      <th>所处的省份_KY</th>\n",
       "      <th>所处的省份_ME</th>\n",
       "      <th>所处的省份_MO</th>\n",
       "      <th>所处的省份_NH</th>\n",
       "      <th>所处的省份_NY</th>\n",
       "      <th>所处的省份_OH</th>\n",
       "      <th>所处的省份_WI</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>18001</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22763</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>40488</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22585</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12204</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 31 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       是否有小孩_P  是否有小孩_U  是否有小孩_Y  是否通过快递买过东西_M  是否通过快递买过东西_P  是否通过快递买过东西_S  \\\n",
       "18001        1        0        0             1             0             0   \n",
       "22763        1        0        0             1             0             0   \n",
       "40488        1        0        0             1             0             0   \n",
       "22585        0        1        0             1             0             0   \n",
       "12204        0        0        1             1             0             0   \n",
       "\n",
       "       是否通过快递买过东西_U  所处的县的大小_A  所处的县的大小_B  所处的县的大小_C  ...  所处的省份_CT  所处的省份_GA  \\\n",
       "18001             0          1          0          0  ...         0         0   \n",
       "22763             0          0          1          0  ...         0         0   \n",
       "40488             0          1          0          0  ...         0         0   \n",
       "22585             0          0          0          1  ...         0         0   \n",
       "12204             0          0          1          0  ...         0         0   \n",
       "\n",
       "       所处的省份_IN  所处的省份_KY  所处的省份_ME  所处的省份_MO  所处的省份_NH  所处的省份_NY  所处的省份_OH  \\\n",
       "18001         0         0         0         0         0         0         1   \n",
       "22763         1         0         0         0         0         0         0   \n",
       "40488         0         0         0         0         1         0         0   \n",
       "22585         0         0         1         0         0         0         0   \n",
       "12204         0         1         0         0         0         0         0   \n",
       "\n",
       "       所处的省份_WI  \n",
       "18001         0  \n",
       "22763         0  \n",
       "40488         0  \n",
       "22585         0  \n",
       "12204         0  \n",
       "\n",
       "[5 rows x 31 columns]"
      ]
     },
     "execution_count": 91,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Xtrain_02 = get_dummies_df(chinese(Xtrain_02[o_h_02]))\n",
    "Xtrain_02.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "pediatric-underwear",
   "metadata": {},
   "source": [
    "再转o_h_01-------Xtrain_03"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 92,
   "id": "coupled-action",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>学历_0</th>\n",
       "      <th>学历_1</th>\n",
       "      <th>学历_2</th>\n",
       "      <th>学历_3</th>\n",
       "      <th>学历_4</th>\n",
       "      <th>学历_5</th>\n",
       "      <th>学历_6</th>\n",
       "      <th>学历_7</th>\n",
       "      <th>学历_8</th>\n",
       "      <th>幸福指数_1.0</th>\n",
       "      <th>幸福指数_2.0</th>\n",
       "      <th>幸福指数_3.0</th>\n",
       "      <th>幸福指数_4.0</th>\n",
       "      <th>幸福指数_6.0</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>18001</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22763</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>40488</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22585</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12204</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       学历_0  学历_1  学历_2  学历_3  学历_4  学历_5  学历_6  学历_7  学历_8  幸福指数_1.0  \\\n",
       "18001     0     0     0     0     1     0     0     0     0         0   \n",
       "22763     0     0     0     0     1     0     0     0     0         0   \n",
       "40488     0     0     0     0     1     0     0     0     0         1   \n",
       "22585     0     0     0     1     0     0     0     0     0         0   \n",
       "12204     0     0     0     0     0     0     1     0     0         1   \n",
       "\n",
       "       幸福指数_2.0  幸福指数_3.0  幸福指数_4.0  幸福指数_6.0  \n",
       "18001         0         0         1         0  \n",
       "22763         0         0         1         0  \n",
       "40488         0         0         0         0  \n",
       "22585         1         0         0         0  \n",
       "12204         0         0         0         0  "
      ]
     },
     "execution_count": 92,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Xtrain_03 = Xtrain_01.copy()\n",
    "#转成字符类型\n",
    "Xtrain_03 = Xtrain_03[o_h_01].astype(str)\n",
    "#转化覆盖\n",
    "Xtrain_03 = get_dummies_df(chinese(Xtrain_03[o_h_01]))\n",
    "Xtrain_03.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "accessory-delay",
   "metadata": {},
   "source": [
    "####  删除原转码字段----------Xtrain04"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 93,
   "id": "functioning-scratch",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(30566, 51)"
      ]
     },
     "execution_count": 93,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Xtrain_04 = Xtrain_01.copy()\n",
    "Xtrain_04 = Xtrain_04.drop(columns = o_h_01+o_h_02)\n",
    "Xtrain_04 .shape"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "hindu-chest",
   "metadata": {},
   "source": [
    "#### 合并生成最终df-----Xtrain05"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 94,
   "id": "surface-discretion",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(30566, 31)"
      ]
     },
     "execution_count": 94,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Xtrain_02 .shape  #字符的哑变量"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 95,
   "id": "crucial-active",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(30566, 14)"
      ]
     },
     "execution_count": 95,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Xtrain_03 .shape  #非字符的哑变量"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 96,
   "id": "secondary-specific",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(30566, 96)"
      ]
     },
     "execution_count": 96,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#三者合并\n",
    "Xtrain_05 = pd.concat([Xtrain_04,Xtrain_02,Xtrain_03],axis = 1)\n",
    "Xtrain_05.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 97,
   "id": "arbitrary-producer",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>GEND</th>\n",
       "      <th>CA00</th>\n",
       "      <th>CA03</th>\n",
       "      <th>CA06</th>\n",
       "      <th>CA11</th>\n",
       "      <th>CA16</th>\n",
       "      <th>ADBT</th>\n",
       "      <th>ADEP</th>\n",
       "      <th>AHBP</th>\n",
       "      <th>ARES</th>\n",
       "      <th>...</th>\n",
       "      <th>学历_4</th>\n",
       "      <th>学历_5</th>\n",
       "      <th>学历_6</th>\n",
       "      <th>学历_7</th>\n",
       "      <th>学历_8</th>\n",
       "      <th>幸福指数_1.0</th>\n",
       "      <th>幸福指数_2.0</th>\n",
       "      <th>幸福指数_3.0</th>\n",
       "      <th>幸福指数_4.0</th>\n",
       "      <th>幸福指数_6.0</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>18001</th>\n",
       "      <td>1.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22763</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>40488</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22585</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12204</th>\n",
       "      <td>1.0</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 96 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       GEND  CA00  CA03  CA06  CA11  CA16  ADBT  ADEP  AHBP  ARES  ...  学历_4  \\\n",
       "18001   1.0     0     0     0     0     0   0.0   0.0   0.0   0.0  ...     1   \n",
       "22763   0.0     0     0     0     0     0   0.0   0.0   1.0   1.0  ...     1   \n",
       "40488   0.0     0     0     0     0     0   0.0   0.0   1.0   0.0  ...     1   \n",
       "22585   0.0     0     0     0     0     0   0.0   0.0   0.0   0.0  ...     0   \n",
       "12204   1.0     0     4     0     0     0   0.0   0.0   0.0   0.0  ...     0   \n",
       "\n",
       "       学历_5  学历_6  学历_7  学历_8  幸福指数_1.0  幸福指数_2.0  幸福指数_3.0  幸福指数_4.0  \\\n",
       "18001     0     0     0     0         0         0         0         1   \n",
       "22763     0     0     0     0         0         0         0         1   \n",
       "40488     0     0     0     0         1         0         0         0   \n",
       "22585     0     0     0     0         0         1         0         0   \n",
       "12204     0     1     0     0         1         0         0         0   \n",
       "\n",
       "       幸福指数_6.0  \n",
       "18001         0  \n",
       "22763         0  \n",
       "40488         0  \n",
       "22585         0  \n",
       "12204         0  \n",
       "\n",
       "[5 rows x 96 columns]"
      ]
     },
     "execution_count": 97,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Xtrain_05.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "involved-canvas",
   "metadata": {},
   "source": [
    "### 对测试集进行转码"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "nearby-brook",
   "metadata": {},
   "source": [
    "#### 0-1转码"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 98,
   "id": "linear-residence",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>GEND</th>\n",
       "      <th>N1819</th>\n",
       "      <th>N2029</th>\n",
       "      <th>N3039</th>\n",
       "      <th>N4049</th>\n",
       "      <th>N5059</th>\n",
       "      <th>N6064</th>\n",
       "      <th>N65P</th>\n",
       "      <th>ADBT</th>\n",
       "      <th>ADEP</th>\n",
       "      <th>...</th>\n",
       "      <th>FINI</th>\n",
       "      <th>INLI</th>\n",
       "      <th>INMEDI</th>\n",
       "      <th>IOLP</th>\n",
       "      <th>ONLA</th>\n",
       "      <th>SGFA</th>\n",
       "      <th>SGLL</th>\n",
       "      <th>SGOE</th>\n",
       "      <th>SGSE</th>\n",
       "      <th>SGTC</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>20753</th>\n",
       "      <td>F</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>Y</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>...</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20558</th>\n",
       "      <td>M</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>Y</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>Y</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>...</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>Y</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22118</th>\n",
       "      <td>F</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>Y</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>...</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>581</th>\n",
       "      <td>F</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>Y</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>...</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16829</th>\n",
       "      <td>M</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>Y</td>\n",
       "      <td>Y</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>...</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>Y</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "      <td>N</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 28 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "      GEND N1819 N2029 N3039 N4049 N5059 N6064 N65P ADBT ADEP  ... FINI INLI  \\\n",
       "20753    F     N     N     N     N     N     N    Y    N    N  ...    N    N   \n",
       "20558    M     N     N     N     Y     N     N    Y    N    N  ...    N    N   \n",
       "22118    F     N     N     N     N     N     N    Y    N    N  ...    N    N   \n",
       "581      F     N     N     N     N     N     N    Y    N    N  ...    N    N   \n",
       "16829    M     N     N     N     N     N     Y    Y    N    N  ...    N    N   \n",
       "\n",
       "      INMEDI IOLP ONLA SGFA SGLL SGOE SGSE SGTC  \n",
       "20753      N    N    N    N    N    N    N    N  \n",
       "20558      N    N    Y    N    N    N    N    N  \n",
       "22118      N    N    N    N    N    N    N    N  \n",
       "581        Y    Y    Y    N    N    Y    Y    Y  \n",
       "16829      N    N    Y    N    N    N    N    N  \n",
       "\n",
       "[5 rows x 28 columns]"
      ]
     },
     "execution_count": 98,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Xtest_01[z_0_list].head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 99,
   "id": "thrown-billy",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([], dtype=object)"
      ]
     },
     "execution_count": 99,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>GEND</th>\n",
       "      <th>CA00</th>\n",
       "      <th>CA03</th>\n",
       "      <th>CA06</th>\n",
       "      <th>CA11</th>\n",
       "      <th>CA16</th>\n",
       "      <th>ADBT</th>\n",
       "      <th>ADEP</th>\n",
       "      <th>AHBP</th>\n",
       "      <th>ARES</th>\n",
       "      <th>...</th>\n",
       "      <th>c210mys</th>\n",
       "      <th>c210pdv</th>\n",
       "      <th>c210pmr</th>\n",
       "      <th>c210psu</th>\n",
       "      <th>c210pwc</th>\n",
       "      <th>c210wht</th>\n",
       "      <th>ilor</th>\n",
       "      <th>pdpe</th>\n",
       "      <th>tins</th>\n",
       "      <th>zhip19</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>20753</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>3</td>\n",
       "      <td>16</td>\n",
       "      <td>28</td>\n",
       "      <td>22.0</td>\n",
       "      <td>40</td>\n",
       "      <td>49.0</td>\n",
       "      <td>22.0</td>\n",
       "      <td>47</td>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20558</th>\n",
       "      <td>1.0</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>6</td>\n",
       "      <td>6</td>\n",
       "      <td>69</td>\n",
       "      <td>88.0</td>\n",
       "      <td>44</td>\n",
       "      <td>84.0</td>\n",
       "      <td>16.0</td>\n",
       "      <td>63</td>\n",
       "      <td>9</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22118</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>3</td>\n",
       "      <td>12</td>\n",
       "      <td>64</td>\n",
       "      <td>81.0</td>\n",
       "      <td>40</td>\n",
       "      <td>52.0</td>\n",
       "      <td>8.0</td>\n",
       "      <td>87</td>\n",
       "      <td>7</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>581</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>4</td>\n",
       "      <td>17</td>\n",
       "      <td>51</td>\n",
       "      <td>85.0</td>\n",
       "      <td>30</td>\n",
       "      <td>79.0</td>\n",
       "      <td>15.0</td>\n",
       "      <td>62</td>\n",
       "      <td>11</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16829</th>\n",
       "      <td>1.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>...</td>\n",
       "      <td>5</td>\n",
       "      <td>17</td>\n",
       "      <td>40</td>\n",
       "      <td>59.0</td>\n",
       "      <td>15</td>\n",
       "      <td>75.0</td>\n",
       "      <td>13.0</td>\n",
       "      <td>61</td>\n",
       "      <td>13</td>\n",
       "      <td>8</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 59 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       GEND  CA00  CA03  CA06  CA11  CA16  ADBT  ADEP  AHBP  ARES  ...  \\\n",
       "20753   0.0     0     0     0     0     0   0.0   0.0   0.0   0.0  ...   \n",
       "20558   1.0     4     0     0     4     4   0.0   0.0   0.0   0.0  ...   \n",
       "22118   0.0     0     0     0     0     0   0.0   0.0   0.0   0.0  ...   \n",
       "581     0.0     0     0     0     0     0   0.0   0.0   0.0   0.0  ...   \n",
       "16829   1.0     0     0     0     0     0   0.0   0.0   0.0   0.0  ...   \n",
       "\n",
       "       c210mys  c210pdv  c210pmr  c210psu  c210pwc  c210wht  ilor  pdpe  tins  \\\n",
       "20753        3       16       28     22.0       40     49.0  22.0    47     5   \n",
       "20558        6        6       69     88.0       44     84.0  16.0    63     9   \n",
       "22118        3       12       64     81.0       40     52.0   8.0    87     7   \n",
       "581          4       17       51     85.0       30     79.0  15.0    62    11   \n",
       "16829        5       17       40     59.0       15     75.0  13.0    61    13   \n",
       "\n",
       "       zhip19  \n",
       "20753       0  \n",
       "20558       5  \n",
       "22118       0  \n",
       "581         3  \n",
       "16829       8  \n",
       "\n",
       "[5 rows x 59 columns]"
      ]
     },
     "execution_count": 99,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#获取需要转码的字段\n",
    "encod_col = pd.read_excel('保险案例数据字典_清洗.xlsx',sheet_name=2)\n",
    "\n",
    "# 查看Xtest_01中object类型\n",
    "# object_tr =Xtest_01.describe(include='O').columns\n",
    "object_tr =Xtest_01.dtypes[Xtrain_01.dtypes == 'object'].index\n",
    "\n",
    "\n",
    "#检查一下转码的目标是否出现\n",
    "np.setdiff1d(object_tr,encod_col['变量名'])\n",
    "\n",
    "#0-1 转码\n",
    "# 获取0-1 转码的变量名\n",
    "z_0_list = encod_col[encod_col['转']=='0-1'].变量名\n",
    "\n",
    "Xtest_02 = Xtest_01[z_0_list]\n",
    "\n",
    "#sklearn的预处理模块\n",
    "from sklearn.preprocessing import OrdinalEncoder\n",
    "\n",
    "#fit_transform 直接转\n",
    "new_arr = OrdinalEncoder().fit_transform(Xtest_02)\n",
    "# columns 设置表头为原来的   index 索引也是原来\n",
    "Xtest_02 = pd.DataFrame(data=new_arr,columns=Xtest_02.columns,index=Xtest_02.index)\n",
    "\n",
    "Xtest_01[z_0_list] = Xtest_02\n",
    "\n",
    "Xtest_01.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "homeless-season",
   "metadata": {},
   "source": [
    "#### 哑变量转码"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 100,
   "id": "related-object",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(13100, 96)"
      ]
     },
     "execution_count": 100,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#获取哑变量转码的变量\n",
    "o_h_list = encod_col[encod_col['转']=='哑变量'].变量名\n",
    "\n",
    "o_h_01 = ['c210mys','LIVEWELL'] #非字符型的变量\n",
    "o_h_02 = [i for i in o_h_list if i not in o_h_01] #字符类型的变量\n",
    "\n",
    "#先转o_h_02 字符类型\n",
    "Xtest_02 = Xtest_01.copy()\n",
    "Xtest_02 = get_dummies_df(chinese(Xtest_02[o_h_02]))\n",
    "\n",
    "#w我们再转 o_h_01  非字符\n",
    "Xtest_03 = Xtest_01.copy()\n",
    "#转成字符类型\n",
    "Xtest_03 = Xtest_03[o_h_01].astype(str)\n",
    "#转化覆盖\n",
    "Xtest_03 = get_dummies_df(chinese(Xtest_03[o_h_01]))\n",
    "\n",
    "\n",
    "# Xtrain_04 删除原转码的字段\n",
    "Xtest_04 = Xtest_01.copy() \n",
    "Xtest_04 = chinese(Xtest_04.drop(columns=o_h_01+o_h_02))\n",
    "\n",
    "\n",
    "#将 Xtest_04  Xtest_02 Xtest_03 合并\n",
    "Xtest_05 = pd.concat([Xtest_04,Xtest_02,Xtest_03],axis=1)\n",
    "Xtest_05.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "improving-glance",
   "metadata": {},
   "source": [
    "## 数据建模"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 101,
   "id": "initial-editing",
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.tree import DecisionTreeClassifier\n",
    "from sklearn.model_selection import cross_val_score"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 102,
   "id": "ongoing-saturn",
   "metadata": {},
   "outputs": [],
   "source": [
    "clf = DecisionTreeClassifier(random_state=420,class_weight='balanced')\n",
    "cvs = cross_val_score(clf,Xtrain_05,Ytrain)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 103,
   "id": "internal-property",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.5980173261817924"
      ]
     },
     "execution_count": 103,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cvs.mean()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "narrative-cleanup",
   "metadata": {},
   "source": [
    "### 网格搜索找最优参数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 104,
   "id": "veterinary-flesh",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 5 folds for each of 48 candidates, totalling 240 fits\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=-1)]: Using backend LokyBackend with 4 concurrent workers.\n",
      "[Parallel(n_jobs=-1)]: Done  33 tasks      | elapsed:    6.8s\n",
      "[Parallel(n_jobs=-1)]: Done 154 tasks      | elapsed:   30.2s\n",
      "[Parallel(n_jobs=-1)]: Done 240 out of 240 | elapsed:   50.9s finished\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "GridSearchCV(cv=5, error_score=nan,\n",
       "             estimator=DecisionTreeClassifier(ccp_alpha=0.0,\n",
       "                                              class_weight='balanced',\n",
       "                                              criterion='gini', max_depth=None,\n",
       "                                              max_features=None,\n",
       "                                              max_leaf_nodes=None,\n",
       "                                              min_impurity_decrease=0.0,\n",
       "                                              min_impurity_split=None,\n",
       "                                              min_samples_leaf=1,\n",
       "                                              min_samples_split=2,\n",
       "                                              min_weight_fraction_leaf=0.0,\n",
       "                                              presort='deprecated',\n",
       "                                              random_state=420,\n",
       "                                              splitter='best'),\n",
       "             iid=False, n_jobs=-1,\n",
       "             param_grid={'criterion': ('gini', 'entropy'),\n",
       "                         'max_depth': range(3, 15),\n",
       "                         'splitter': ('best', 'random')},\n",
       "             pre_dispatch='2*n_jobs', refit=True, return_train_score=False,\n",
       "             scoring='roc_auc', verbose=2)"
      ]
     },
     "execution_count": 104,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.model_selection import GridSearchCV\n",
    "\n",
    "#测试参数\n",
    "#测试参数\n",
    "param_test = {\n",
    "             'splitter':('best','random'),\n",
    "             'criterion':('gini','entropy'), #基尼 or 信息熵\n",
    "             'max_depth':range(3,15) #最大深度\n",
    "             #,min_samples_leaf:(1,50,5)\n",
    "}\n",
    "\n",
    "gsearch= GridSearchCV(estimator=clf, #对应模型\n",
    "                param_grid=param_test,#要找最优的参数\n",
    "                scoring='roc_auc',#准确度评估标准 \n",
    "                n_jobs=-1,# 并行数  个数   -1:跟CPU核数一致\n",
    "                cv = 5,#交叉验证 5折\n",
    "                iid=False,# 默认是True  与各个样本的分布一致 \n",
    "                verbose=2#输出训练过程\n",
    "                )\n",
    "\n",
    "gsearch.fit(Xtrain_05,Ytrain_01)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 105,
   "id": "legendary-start",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.6919158825278453"
      ]
     },
     "execution_count": 105,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#优化期间观察到的最高评分\n",
    "gsearch.best_score_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 107,
   "id": "social-resort",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'criterion': 'entropy', 'max_depth': 6, 'splitter': 'best'}"
      ]
     },
     "execution_count": 107,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "gsearch.best_params_ #最高评分的最优参数"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "focal-certification",
   "metadata": {},
   "source": [
    "## 模型评估"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 108,
   "id": "brown-government",
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.metrics import accuracy_score #准确率\n",
    "from sklearn.metrics import precision_score #精准率\n",
    "from sklearn.metrics import recall_score #召回率\n",
    "from sklearn.metrics import roc_curve"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 110,
   "id": "induced-official",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0, 1, 1, ..., 0, 0, 1], dtype=int64)"
      ]
     },
     "execution_count": 110,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y_pre = gsearch.predict(Xtest_05) \n",
    "y_pre"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 111,
   "id": "numerous-transformation",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.6090076335877863"
      ]
     },
     "execution_count": 111,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "accuracy_score(y_pre,Ytest) #准确率"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 112,
   "id": "noted-transfer",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.748152359295054"
      ]
     },
     "execution_count": 112,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "precision_score(y_pre,Ytest)#精准率"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 113,
   "id": "light-husband",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.5100116264048572"
      ]
     },
     "execution_count": 113,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "recall_score(y_pre,Ytest) #召回率"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 114,
   "id": "tutorial-search",
   "metadata": {},
   "outputs": [],
   "source": [
    "fpr,tpr,thresholds = roc_curve(y_pre,Ytest) #roc参数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 115,
   "id": "liable-juvenile",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x29dbc2d6908>]"
      ]
     },
     "execution_count": 115,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x29dbcc91e80>]"
      ]
     },
     "execution_count": 115,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAD5CAYAAADcDXXiAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nO3deViTd7o38G8SCATCTthVdhGporhAW1daRcWFulRL6aK2x86cOe90HGu3M+2cOp7pnHfe6/Kq1+u8XtO6tbZTl2rVqlXiUlHUBlfqVhSRLSRhCVnI+rx/BHckCWR9cn/+GjtPyP0z+DXePHzhMAzDgBBCCKtw3T0AIYQQx6NwJ4QQFqJwJ4QQFqJwJ4QQFqJwJ4QQFqJwJ4QQFqJwJ4QQFvJz9wB3tbWpYTbbf8t9VJQQCoXKCRN5Ljqzb6Az+4a+npnL5SAiIviJ/7/HhLvZzPQp3O8+1tfQmX0Dndk3OOPMtJYhhBAWonAnhBAWonAnhBAWonAnhBAWsincDQYD3njjDZw+fbrX69avX4+SkhIsWbIEcrncIQMSQgixn9VwNxqN+M1vfoOmpqZer6uqqoJYLMb27duxdOlSrFmzxmFDEkIIsY9N79w/+eQT5OTk9HpNRUUFiouLwePxkJ+fj/PnzztkQEIIYRt5hxY/bt6Lbe//Hxw/V++U57B6n7ufnx/i4uKsfiC1Wo3s7GwAAIfDgUajsWuQqCihXdc/SCQK6fNjvRWd2TfQmdmDYRhcvCHHj+UXEXViLwar6tAZHoshicFOObPDvolJKBRCq9Xe+7VKZd93XCkUqj7dyC8ShUAm67T7cd6Mzuwb6MzsoNUZcaq6GeWSekTduoTn5GfBhwlB0+cgY1YxRDERfTozl8vp9U2xw8I9NzcXBw4cQHFxMWpraxEREeGoD00IIV6nSaHGkaoGVFxuglZnQnJcCApjDAgLHYT41xaDHxfv1OfvU7ivW7cOubm5KCgouPffCgoKsHbtWqxatQoSiQRlZWUOG5IQQryB2czg4k0FyiX1qL7VCh4HmBPYgMGFw5E+ehjM+uHg+PmBw3X+XegcR/6AbL1eD7FYDJFIhLy8PLseS2sZ29GZfQOd2XuotAacuNgEcVU95B1diAgJwJRkPjLPH4DhVg3CC59HzKLSHh/b1zO7bC0DAHw+H0VFRY78kIQQ4rHqpJ0QV9WjsloKvdGMzAHhWDA+BYNunkX7nu9hCghA3JI3EJL/tMtn85hWSEII8QZGkxlV12UQS+pxvb4DfD8uCnLiMHlkEgbECNF+7Ahadu+EcNRoxCx6GX5hYW6Zk8KdEEJs0KHS4diFRhw914B2lR6i8EC8ODkdzw6Lh4DLwNAiBSBE2DPj4B8VjeCcp9w6L4U7IYQ8AcMwqGlUQiypx9mrLTCZGeSkRuLVoiQ8lRYFLocD7Y3ruL3xC5h1XUhZ/Tdw+Xy3BztA4U4IIY8xGE04/UsLyqvqcbu5E4IAHiaNTEThyCTERgYBAMxdWkh3bEfHkXL4RUcjbvEb4PL5bp78Pgp3QgjpJu/Q4ui5Rhy/0AiV1oDE6GCUTR2MgqGxCOTfj0tjezvqVv8XjG1tCH9uCqJL5oIbEODGyR9H4U4I8WkMw+Dq7TYcltTj/K+WNtuRGSJMzktC1sBwcDic+9eazeBwueCFhUE4Ig8hY8ZCkJburtF7ReFOCPFJXXojTl621AI0KTQQCvwxPX8QJuYmIios8KFrGYaB6uezkO/chqTl78A/WvTE+9Y9BYU7IcSnNLdqIJbUP1QLsGTGEIwZEgN/P95j1xvb2yH9ajPU56oQMCgZjMHghqntR+FOCGG9u7UAYkk9Lt9qBY/LwZghMZicl4TU+NCHVi8P6jjxE2T/2grGaET0vAWIeH4qOLzH/wLwRBTuhBDWulsLcORcPWTtXQgX8lEyLgXjcxMRFmz9zpauWzUIGDAQsa++Dn6s9epzT0LhTghhnZ5qAeZNTMeIjGj48Z5c2sWYzWgXH0ZgajoEqakQLXwJHJ5rir4cjcKdEMIKPdUC5A+Nw+SRiRgYa/2HYegaGyDd+AW6btYg/LnnIUhNBdffc+5btxeFOyHEqz1aCxAdFogFk9Ixbng8ggP9rT6eMRrRun8fWvftAScwEHFL30TI2AKrj/N0FO6EEK/DMAxuNipRXlWPs1e6awFSumsBUqPA5fb8BdKedJw4DsXu7xAyZixEC0vhFxrqxMldh8KdEOI1DEYTzlxpwWHJw7UAk0cmIa67FsAWZp0OhpYWBAwYgLBnx8NfFIPgoTlOnNz1KNwJIR5P0dGFI+ca7tUCJEQHo2xKJvKHxkEQYF+Maa5dhXTTBph1OqT8d3fRF8uCHaBwJ4R4qLu1AOVVDTh3QwYAGJEhQuHIRGQNinjivelPYtJqId/+LTqOHYG/SIT4pW96VNGXo1G4E0I8SpfeiFOXm1Fe1YBGuRpCgT+mjR2ESSMerwWwlbG9DXV/+QTG9jZEPD8VUXNe8LiiL0ejcCeEeITmVg12VdTi0Jnb0OpMGGSlFsAWjMkEDo8HXlg4hHl5CBmTD0FqmoMn90wU7oQQtzEzDC7VKFBeVY/LN1vhx+NgVFYMCkcmITXhybUA1jAMg86zpyHfuR0Dlq+Ev0iEmIWeXfTlaBTuhBCXU3dZagHEVfdrAeaMS8ELkzNh1PWvmMvQ1oaWrzZDff4cApJTwJiMDprau1C4E0Jc5k6LCuWSelRWN1tqAZLCMHdCGkZmiuDH4yIiNBAyWd/DveP4Mci2fQPGZEL0/BctRV9eWB3gCBTuhBCnMprMOHdDjnJJPa7fae+uBYjF5JFJNtUC2KPrdi0CBg5C7Cuvgx8b69CP7W0o3AkhTtGh1uP4+QYcPd+Itk7dvVqAZ4fFQyiwXgtgC8ZsRvvhHxGYngFBahpECxd5bdGXo1G4E0IchmEY3GxSolzycC1A2dTBGGZnLYA1uoZ6S9HXrZuIeH4qBKlpXl305WgU7oSQfrtbC1AuqUdtcycC+TxMGpGIyXn21QLYgjEa0frDXij27QEvKAjxb74F4egxDn0ONqBwJ4T0maKjC0fPN+DY+f7XAtiq48RxKL7fhZCxBYhZ+BJ4IY7d27MFhTshxC4Mw+BqXTvEknpUOaAWwBZmnQ56aTMCBw5C2LPjwY+NQ9CQbIc/D5tQuBNCbNKlN+JUtRRiST0aHqgFmDgiAdFhAqc9r+bqFUg3fQGz3nCv6IuC3ToKd0JIr6StGpRX1aPiUpOlFiA2BIunD8HY7L7XAtjCpNFYir6OH4W/KAbxb/wbq4u+HI3CnRDymEdrAXhcDkZnxaAwr3+1ALYytrfh9qo/w9TRgYipRYiaVcL6oi9Hsync169fj/379yMyMhKffvopoqOjH7tGKpXi/fffh16vBwD87W9/Q3x8vGOnJYQ41ZNqASYMT0CY0PnhajZaqgJ4YeEIGT0WoWPGIjAl1enPy0ZWw72qqgpisRjbt2/HmTNnsGbNGnzyySePXbdp0ybMnDkTc+bMwd69e7F+/Xp89NFHThmaEOJYd1pUEFfV41R1M/QGMzIeqQVwNoZh0HmmErd37UD8H94BXxSDmBcXOf152cxquFdUVKC4uBg8Hg/5+flYvXp1j9dFRUXh+vXr0Gq1uHDhAlJT7fvbNipKaNf1DxKJfO9WKDqzb3DmmY0mM05fbsaeEzdRfVMBvj8PE0cOwIxnUpCaGOa0532UTiZHzf9bj7afJQgZnInIcAEEPvZaO+N1thruarUa2dmWr0xzOBxoNJoer5s2bRo++OADbNmyBTKZDGVlZXYNolCoYDYzdj0GsPymyGSddj/Om9GZfYOzzqxU63HMSi2Aq36v248dhXzbN2DMZogWvoSMBXMgb9VA5UOvdV9fZy6X0+ubYqvhLhQKodVq7/1apVL1eN3atWuxcuVKZGVlQalUYtmyZdi6davdAxNCnKOmsQNiST3OXm2B0cRgaEokyqYMxrA0x9YC2ENXX4fAlFTEvPIa+KIYcHjOu/vG11gN99zcXBw4cADFxcWora1FREREj9epVCpUV1cjKysLlZWVTv9qOiHEuru1AOKqetxqstQCTMhNxOSRiYiPCnb5PIzJhLZDByHIyIQgLR2iBYvA8fOjvHACDsMwve5CTCYTSktLkZOTA4lEgnnz5kGpVCI3NxcFBQX3rrt69Sref/991NTUICEhAatWrUJeXp7Ng9BaxnZ0Zt/QnzO3Krtw5Nz9WoD4qCAU5iWhwIm1ANbo7txB86YvoKu9hYgpRRAtWPjYNfQ6287aWsZquAOAXq+HWCyGSCSyK7DtQeFuOzqzb7D3zD3VAuSmR6MwLwlDnFQLYAuzwYDWfXvQun8feEHBiCl9GcK80T3OQ6+z7fq9cwcAPp+PoqIiu5+cEOJ8j9YCBAf6oWjsQEzKTUR0uPNqAWylrPgJrXu/R0jB04h58SXwhH2/M47Yjr5DlRAvJW3VQFzVgBOXmqDVGTEwVojXp2dh7JBY8P3d+4XJh4q+xk0APy4eQVlD3DqTr6FwJ8SLmBkGl28qcFhyvxZgVHctQJoLagFsof6lGtLNG8AYjEj569/A9edTsLsBhTshXuBuLcCRqga0tGsRJuRjzrMpGJ+bgHAX1ALYwqRWQ7btGyhP/AT/2DjELX6DfjKSG1G4E+LB6ltUKH+kFuCFCakuqwWwlaGtDXWrPoapsxMR02YgatZsCnY3o3AnxMMYTWacvyHH8W0XcLlGAX8/LvKzY1GYl4SBsZ71bfmM0QiOnx/8wsMRml+AkDH5CByU7O6xCCjcCfEYSrUexy404ui5BrR16hATGfRYLYCnYBgGnZUnIf9uB5JWvAu+KAai+Y/ft07ch8KdEDe72ahEuaQeZ69KH6oFmJyfjFZFz3Uf7mRQKCDdsgmayxcRmJYO9OH7U4jzUbgT4gYGoxlnr0pRLnlyLQDPTX0vvWk/KoZs27cAGIgWlSJ8UiE4XM/Z/ZP7KNwJcaG7tQDHLzSiU2OpBSh9PhNP57ivFsAeuoYGCNLSEPvKa/CPFrl7HNILz/9sIsTLMQyDa3XtKK+qx7nrcjBgPKIWwBaM0Yi2Hw9AMDgLgrR0yw/Q4PE8emZiQeFOiJPo9Cacqm5GeVU9GmSWWoCpYwd4TC2ANV11tyHd+AV0dbcRMXUaBGnp4PhRZHgLeqUIcTBpmwZHqhrw00XPqwWwhdmgR+ue79F64AfwhELEv/VbhOSNdvdYxE4U7oQ4gKUWoBXlknpcuqm4XwswMglpiZ5RC2ArZcUJtP6wF6FPPwvRgoVU9OWlKNwJ6QdNdy2A+G4tQDAfs59NwQQPqgWwhbmrC/rmZgQmJ1uKvhISEZQ52N1jkX6gcCekD+pbVBBX1eNkdy1AuofWAthCXX3ZUvRlNCLlr/9jKfqiYPd6FO6E2MhkNuPcdTnEVfW4WtcOfz8uxmbHonBkEgbFeVYtgC1MKhVk334D5ckT8I+LQ/zSZdQHwyIU7oRY8WgtQHRYIOZPSsO4YQkeVwtgK0NbG+o++QgmlQqR04sROXMWBTvLULgT8gSP1QIkR+DlKZkYnhYNrgd+96gtHir6evpZhIwZi8CBg9w9FnECCndCHnC/FqABt5qUCODzMGF4Iibn3a8F8EYMw0B58gTk3+3AgBXvgR8bC9G8Be4eizgRhTshsNQCHD3fgGPnLbUAcZHeVQvQG4NcBunmjdD8Ug1BRibgRbdlkr7z7s9aQvqBYRhcv9OOw5LuWgCGwfD0aBSOSkK2h9cC2KpdfBiyHdsAcBBTWoawCZOo6MtHULgTn9NjLcCYAZg0wjtqAeyhb26CICMTsWWvwT8qyt3jEBeicCc+47FagBghXp+WhbHZ3lELYAvGaETrwf0IGpwFQXoGRAuo6MtXUbgTVrtbCyCuqselGgW4XA7yBovwXN4Ar6sFsKbrdi2kGz+H7s4dmIumQ5CeQUVfPoxeecJKmi4DTlxqhriqHi1tllqAWV5YC2ALs14Pxfe70PbjAfBCQpDw299BOCLP3WMRN6NwJ6xSL1NBLHm4FqBkXCryBntfLYCtlCdPoO3ADwh9djxE818EL9h7b9kkjkPhTrwe22oBbGHSamGQNiMwOQVh4yYgIDHJcpsjId0o3InXUqr1OH6hEUe6awGiQgMxf2Iaxg333loAW6gvXYR0y0YwJtO9oi8KdvIoCnfidW41WWoBzlyx1AJks6AWwBYmlQot/9qKzlMnwU9IQOyri6kPhjwRhTvxCgajCacuN+OwpP6hWoBJIxOREM3+HbOhrQ11//UnmDQaRBbPQuSMmeD6s/dfJ6T/bAr39evXY//+/YiMjMSnn36K6OjoJ167c+dOSCQS/OUvf3HYkMR33a0F+OliEzpUelbVAtjCbDCA6+8Pv/BwhI2bgJDRYxEwYIC7xyJewOqfjqqqKojFYmzfvh1nzpzBmjVr8Mknn/R47Z07d7BhwwZ8/fXXDh+U+I67tQDlknpUddcCjBkah2dz4pCdzI5aAGsYhoH00GHc2vI1BrxjKfqKfmGeu8ciXsRquFdUVKC4uBg8Hg/5+flYvXp1j9eZzWasWLEC6enp2LVrF2bMmIGIiAiHD0zYS6c34dQvzRBL6lHfXQswpbsWIDsjBjJZp7tHdAm9rAUtmzdCc+UXCDIHAyz+OgJxHqvhrlarkZ2dDQDgcDjQaDQ9Xrd7925wOBy8++67uHPnDl599VXs2rULXBtLiqKi+v5DeEUidt7u1hs2nblJrsYPJ2/h0Jk6qLUGpCaE4T8W5GLciEQE8u9/irLpzE/SuGcf6rZ8BQ6Xi9RlbyJu6vM+V/TlC6/zo5xxZqvhLhQKodVq7/1apVL1eN2lS5cwf/58xMbGIjY2Fnw+H3V1dUhOTrZpEIVCBbOZsW3qB4hEIT7zju4uNpzZzDCovtWKcsnDtQCFeUlITwwDh8NBZ4cWd0/JhjPbou1mHQSZgxFT9iriByf7xJkf5Cuv84P6emYul9Prm2Kr4Z6bm4sDBw6guLgYtbW1T1y1pKWloaamBgAgl8vR3NyMuLg4uwcm7KbpMuLEpaaHagFmPpOMCbmJiAhhVy2ALRijEa379yEoKxuCjAyIFiykoi/iEFbDvaCgAGvXrsWqVasgkUhQVlaGdevWITc3FwUFBfeumzt3Lj788EMsXLgQ7e3tWLFiBQIDA506PPEe9TIVxFUNOHW5GTqDCemJYZgzLgWjBsewthbAmq5bN9G88QvoG+rBGAwQZFDRF3EcDsMwVncher0eYrEYIpEIeXnOKSSitYztvOXMJrMZ52/IUS6x1AL48bjIz45FYZ79tQDecmZbmHU6KL7/Dm0/HoRfeDhiSl+BMHfEY9ex6cy2ojPbrt9rGQDg8/koKiqy+8mJb1Jq9PipuxagValDVGgA5k1Mw7hh8QgJou+oVJ6qQNvBAwgbPxHR8xaAFxTk7pEIC9G/AYnDPFoLMGRQBEqfy8TwdHbXAtjCpNVC39QEQWqqpehrwEAI0tLdPRZhMQp30i8Goxk/X21BeVU9bjZaagHGD0/A5JFJPlELYAvVxfNo2bIZjPmBoi8KduJkFO6kTyy1AI04fr4BSo0BsZFBeOm5DDzzVLxP1ALYwtiphOybreg8XQl+QiJiX6OiL+I69KeQ2OxeLUBVA6quycAwDIanR6MwLwlDkiPApdv37jG0taHuz3+CSatB1Kw5iJxeTHfCEJeizzZilU5vQuUvzSiXNKBepnqoFkAULnD3eB7FbNCD68+3FH2Nn4CQsfkISExy91jEB1G4kydqadNAXNWAExeboNEZMSBGiNemZWFsdiwC/HnuHs+jMGYzOn46DsXunRiw8n3wY+Oo6Iu4FYU7eciTagEmj0xCRlIYfedkD/RSKaSbN0B77SoEWUPA4dFffMT9KNwJAEstQEV3LYC0TYtQH68FsFXbjwch37UDHB4Psa+8jtBx4+kvQOIRKNx9XEN3LcDJ7lqAtMRQzPbxWgB7GBRyBGUPRUzpK/CnimviQSjcfZClFkCBcsmdh2oBJuclIjku1N3jeTTGaIRi3x4EZw+FICPTUvTF5dK7deJxKNx9iEprwLHzDVQL0Efamzch3fg59I0NgMkEQUYm7deJx6Jw9xGdGj3+vPEsWpU6DBkUgZeey0Qu1QLYxKzTQbFrJ9oO/wi/8Agk/MfvIRyW6+6xCOkVhbsPMDMM/rn3CpRqPd57eSQyksLdPZJXUZ6qQNuhgwibOBnRc+eDJ6B7+4nno3D3AQdO1+HSTQVenpJJwW4jk0YNfXMzBKlpCBs/EQEDB0GQmubusQixGYU7y92ob8fOYzcxKisGk0Ykunscr6A6fw7SLzcBDHO/6IuCnXgZCncW69To8Y/d1YgOC8RrRVl0R4cVRqUSsq+/ROfZM+AnDUAcFX0RL0bhzlJmhsHn+66gU6PHB2WjEBRIL3VvDG1tuP3n/wTT1YWoOS8gsmg6FX0Rr0afvSx18EwdLtYoUPp8pt0/0s6X3C368o+IQPikQoSMHoOABFpfEe9H34LIQr/Wd2DH0ZsYNViEySMpqHrCmM1oPyLGrXf+CH1zMwAgenYJBTthDXrnzjIqrQHrdl9GVFgAXps2hPbsPdBLmyHdtAHa69cQNGQoOP70x4CwD31Ws4jlfvZf0KnR4/2yPNqz96DtxwOQf7cDHD8/xL62GKHPjKO/AAkr0Z9+FvnxzJ17e3bqiOmZobUVQTlPIba0DH7hVPRF2IvCnSV+bejA9qM1yMukPfuDzAYDWvd9j6DsHARlDoZo/otU9EV8AoU7C6i0Bvxj92VEhgbg9el0P/td2ppfId34BfRNjQCAoMzBVPRFfAaFu5djGAaf7/0FHaq7e3Z/d4/kduauLsh37UB7+WH4RUQi8fd/QHDOMHePRYhLUbh7uYNn7uBCjQKLnstASjzt2QFAWXkS7YcPIWxSIURz54EbSEVfxPdQuHuxmoYO7DhWg5GZIjyXl+TucdzKpFZD39wEQVo6wsZPRGByCgKTU9w9FiFuQ+Hupe7u2SNCArDYx/fsnVUStHy1GQDuFX1RsBNfR+HuhRiGwRf7rqDdx/fsxo4OtHz9JVQ/n0XAgIGIpaIvQu6hcPdCu4/fxPlf5VhU6Lt7dkNrK25//J9g9DpEvzAPEVOKqOiLkAfQnwYvU9PYgY17qzEiIxrPjfK9PbtZrweXz4d/ZCTCC59D6Jix4McnuHssQjyOTcVh69evR0lJCZYsWQK5XG71+rfffhs7d+7s93DkYeouA/6xqxpR4QIsnuFbvTGM2Yx28WHcemc59M1NACxFXxTshPTMarhXVVVBLBZj+/btWLp0KdasWdPr9T/88APEYrHDBiQW9/fsOqwsG4VgH9qz65ubcOn9/0TL1i8RMGgQOLRXJ8Qqq2uZiooKFBcXg8fjIT8/H6tXr37itTKZDJ9//jkWLVpk9yBRUUK7H3OXSMT+vvLdx2tw7oYcS2fnIHOg73Si1O/chbqt34AXEICM//XvEE2a6FP/YvGFz+1H0Zkdw2q4q9VqZGdnAwA4HA40Gs0Tr/3oo4/w3nvv4dSpU3YPolCoYDYzdj9OJAqBTNZp9+O8yc1GJTbssezZC7JEAMD6M9/V0SBF8LDhGPK7Zegw+kEuV7l7JJfxhc/tR9GZbcflcnp9U2x1LSMUCqHVau/9WqXq+Q/Xtm3bkJaWhlGjRtk9JHkydZflfvZwYQBen87+PbvZoId853Zorl8DAIgWLETCW/8OfoTv/GuFEEew+s49NzcXBw4cQHFxMWpraxHxhD9khw8fhlKpRFlZGRoaGsDn8xEWFobCwkKHD+0r7u7Z2zp1ePflkRAK2L1n1964geZNn8PQ3AzweJaiLy79sDBC+oLDMEyvuxCTyYTS0lLk5ORAIpFg3rx5UCqVyM3NRUFBQY+P+eyzz5CYmIgXXnjB5kFoLfO4Q2fv4OvyG3hxcjqmjhl477+z7czmLi3kO7ej/YgYfpGRiH3ldQQPzXnoGrad2RZ0Zt/grLWM1XfuPB4PmzdvhlgsxrRp05CXl2f1SX/3u9/ZNyV5zK0mJb498ity06MxZfQAd4/jVMrKU2g/Ikb45OcQXTIX3MBAd49EiNez6ZuY+Hw+ioqKnD0L6abpMmDdrssIF/JZez+7SaWCvqkJgoyM7qKvVAQmJ7t7LEJYg75D1cMwDIMvfrhq2bOXsnPP3vnzWbR8tQXgcpDy1/8Nrr8/BTshDkbh7mHKJfWoui7DgknpSEsMc/c4DmVsb0fL1i1QVUkQMCgZca8tBteffX95EeIJKNw9yK0mJf4ltuzZp45h157dUvT1IRi9HtFzFyBiylT6kXeEOBGFu4e4u2cPY9me3azTgRsQAP/ISEQ8PxUho8eCHxfn7rEIYT26idgDMAyDDfste/Zls3NYsWdnzGa0HT6EmyvvF31FzZxNwU6Ii9A7dw8grmqA5Jplz57Ogj27rrER0k1foKvmVwTlDAOHT0VfhLgahbub1TYr8S/xDQxLi8IUFuzZW3/YC8X3u8AJCEDckjcRkl/AmhUTId6Ewt2NNF1GrNt1GSFBfCwtzgaXBSFo6uxEcO5IxLz0MvxCffOnRBHiCSjc3YRhGGzcfwWKDu++n92s10Px/S4EPzUMQYOzED3/ReqDIcQDULi7ibiqAT9fk2H+xDSkJ3nnnl1z/Rqkm76AQSoFx98fQYOzKNgJ8RAU7m5wu7nz3p596tiB1h/gYUxaLeQ7tqHjqBj+0SIk/mEFgrOHunssQsgDKNxd7ME9+5IZQ7xyz955+hQ6jh1B+PNTET3nBXADAtw9EiHkERTuLsQwDDYeuAp5RxdWlo5ASJD33CJoKfpqhCAj01L0lZqGwIGD3D0WIeQJKNxd6Oi5Bvx8tQXzJqYhIync3ePYhGEYqH4+i5atWwAu937RFwU7IR6Nwt1Fbjd34uvyG3gqNQpFXrJnN7a3QfrlZqjPn0NAcgriXqWiL0K8BYW7C2h1D97P7h17dkOrArc/+hCM0Yjo+S8i4rkpVPRFiBehcHcyhmGwqXvP/s5Lnr9nv1/0FYWIqdMsRV+xse4eixBiJ7op2cmOnm/EmSstKBmfgswBnqwJ20wAAA9GSURBVLtnZ8xmtB06iJvv/AH6pkYAQFTxLAp2QrwUvXN3ojppJ74+fAM5qZGYlu+5X4DUNTRAuulzdN28ieBhw8EJFLh7JEJIP1G4O8ndPbtQ4OfRvTGKvd9DsWc3eIIgxL2xDCFjxlLRFyEsQOHuBHf37C3tWqx8aSRCPXjPbtZoEDJqNEQLX4JfCBV9EcIWFO5OcKx7z/7C+FSP27ObdToovv8OwU8NR1DWEETPW0B9MISwEIW7g9VJO7H18A0MTYnE9ALP2rNrrl6BdNMGGGQt4AYKEJQ1hIKdEJaicHegB/fsb3jQnt2k0UC+/Vt0HD8Kf1EMkv64EkFZQ9w9FiHEiSjcHYRhGGw+eA0t7Vq8s2gEQoM9Z8/eeaYSHT8dQ8SUIkTNLqGiL0J8AIW7gxy/0IjTv0hRMj4VgwdGuHscGDuV0Dc1IShzMMLGT4QgLR0BA7yj9oAQ0n8U7g5QJ+3EV4duYGhyBGa4ec/OMAw6z5yG7OuvAB4PKX/9H3D9/SnYCfExFO79pNUZsW53NYIFfnhj5lC37tkNra1o+XIT1BcvIDAlFbGvUdEXIb6Kwr0fGIbBloPX0NKmwYqF7t2z3yv6MpkgWrAI4c89T3fCEOLDKNz74aeLTaj8RYo541KQNcg9e3ZzlxbcQAH8I6MQOW0GhKPHgC+KccsshBDPYdNbu/Xr16OkpARLliyBXC7v8RqVSoVly5Zh8eLFmDt3Lq5cueLQQT3NnRYVvjp0HdnJESguSHb58zMmE1oP7sfNd5ZD12gp+oqcXkzBTggBYEO4V1VVQSwWY/v27Vi6dCnWrFnT43W7d+/GrFmz8MUXX+C3v/0tPvvsM4cP6ym69Jb72YMCuvfsXNfu2dW1t1H336sg3/YvCDIHgxdERV+EkIdZXctUVFSguLgYPB4P+fn5WL16dY/XlZaW3vvfCoUCMTHsfAd5d88ubdPgjwtHIMzFe3bFnt24sfd7cIOCEP/mWxCOHkNFX4SQx1gNd7VajezsbAAAh8OBRqPp9frW1lZs2LAB//znP+0aJCpKaNf1DxKJQvr8WHv9ePo2TlVL8dLULIwf5frbC1UcE6LHPYOUJa/DP9S3ir5c+Tp7Cjqzb3DGma2Gu1AohFarvfdrlUr1xGsNBgOWL1+O5cuXIyEhwa5BFAoVzGbGrscAlt8UmazT7sf1RX2LCv/YeRFDBkVg8vB4lzyvWaeDYtdOBA/PRVDWEARPn4OY2DDLc7vo3J7Ala+zp6Az+4a+npnL5fT6ptjqzj03NxeVlZUAgNraWkRE9HxXiMlkwvLly1FYWIjCwkK7B/V0XXoj1u2+DEGAH96c5Zo9u+bKL7j98YdoO3QQ2l9vAADd3kgIsYnVd+4FBQVYu3YtVq1aBYlEgrKyMqxbtw65ubkoKCi4d92OHTtw9OhRyGQy7Nu3DwkJCfj73//u1OFdxbJnv45mhQZ/XJjr9D27SaOGbNu/oPzpOPxjY5G04l0EDc5y6nMSQtjFarjzeDxs3rwZYrEY06ZNQ15eXo/XLViwAAsWLHD4gJ7gxKUmnKpuxuxnUzAkOdLpz9d59gyUFScQUTQdUbPmgMv3nBIyQoh3sOmbmPh8PoqKipw9i0eql6nw1Y/XMWRQBGY+ney05zEqldA3NSJocBbCxk2AID0DAYlJTns+Qgi70Xeo9kKnN2HdrssIDPDDmzOznbJnZxgGnZWn0PLNV+D4+d8v+qJgJ4T0A4V7L7788RqaFRosX5iLMKHjO9ANrQq0bNkE9aWLCExLR+yrr1PRFyHEISjcn+DExSZUXG7GrGeSke2EPbuhVYHbf/oAjNkM0cJShE8upDthCCEOQ+HegwaZCl/+eA1ZA8Mx65kUh37sh4q+ZsxEyKgx8BeJHPochBBCbxUfodObsG53NQL5PIfez86YTGjd/wNurvjD/aKvaTMo2AkhTkHv3B/x5aFraJKr8YeFuQh30J5dd6cOzRs+h67uNoJHjAQvKMghH5cQQp6Ewv0BFZeaUHGpGTOfTsZQB+3Z5bu/Q+sPe8ELCkb8st9AmDeair4IIU5H4d6tQa7Glu49++xnHbdnZ/R6hI7Jh+jFReAJ+16ORggh9qBwx/372QP8ef3uZzd3dUG+aweEw0cgaEg2oufOp7tgCCEuR+EO4KtD19EkV+PtF4cjIqTve3Z19WVIt2yEUS4HLyQUQUOyKdgJIW7h8+FecakJJy41ofjpZOSkRPXpY5jUasi+/QbKip/gHxeHASvfhyAj08GTEkKI7Xw63Bu79+yZA8Ix+9nkPn+czp/PQnmqApHTixE5cxa4/lT0RQhxL58Nd53h/p7932YNBc/O9Ymxo8NS9JU1BGHjxkOQkYGAhEQnTUsIIfbx2XDfeug6GvuwZ2cYBp2nTqLlm63g+D9Q9EXBTgjxID4Z7icvN+Gni02YUTDIrj27QSGHdPNGaKovIzAtHXGvLaaiL0KIR/K5cG9SqLHl4HVkJoVhzjjb72c3tCpQ+6cPATAQvfQywidOpjthCCEey6fCXWcw4f/uugx/Py7+bXaOTXt2k0YDXlAQ/COjEDVzFkJGjYZ/NPXBEEI8m0+99fz68HU0yNR4Y2a21T07YzRCsW8Pbq1cDl1jAwAgsmg6BTshxCv4zDv3U9XNOH7Bsmd/KrX3PXtX3W1IN3wO3Z06CPNGgRcc7KIpCSHEMXwi3JsUamw+cA0ZNuzZ5bt2Woq+QkIQ/9a/IyRvlIumJIQQx2F9uOu772f39+PadD87YzQitOAZiBYspHfshBCvxfpw33r4Buplavx+/nBEhgY+9v+bu7og37kdwhEj7xd9USUvIcTLsTrcK6ubcfxCI6bnD8KwtMf37OrLlyDdvBHGtlb4hYdbir4o2AkhLMDacG9SqLHp4DWkJ4WhZPzDe3aTSgXZt19DebIC/Lh4S9FXeoabJiWEEMdjZbhb9uzV8OdxsayHPXun5CyUpysROWMmIotnUtEXIYR1WBnu35TfQL1Mhd/PH3Zvz25sb7cUfQ3JRti4CRBkDEZAQoKbJyWEEOdgXbif/kWKo+cbMW3sQAxLiwbDMFBWnIDs26/B8ec/UPRFwU4IYS9Whbu0VYONB64iPTEMJeNTYZDJLEVfV6ohyMhE7KtU9EUI8Q2sCXeD0dIb48flYNnsoWDa21D78YfgcDiIKX0FYRMmUtEXIcRnsCbcvy7/FXdaVPhfxRnde/ZARM8ugXDUaPhH9u3H5xFCiLdixVvZM1ekOF51B68G1yH4H3+BrsFS9BUxpYiCnRDik2wK9/Xr16OkpARLliyBXC7v93WO1ChT4YedJ/Bm837EXziKoJxh4IWEuOS5CSHEU1kN96qqKojFYmzfvh1Lly7FmjVr+nWdIxmMJuz782dYeGsvInhGJPz2d0hY9hv4hYY6/bkJIcSTWd25V1RUoLi4GDweD/n5+Vi9enW/rnuSqCihXdcDQE19O5SqLvBGFWDM28vgJ/Sdoi+RyPf+dUJn9g10ZsewGu5qtRrZ2dkAAA6HA41G06/rnkShUMFsZux6TGgAD8vWfQCNSoc2rRnQdtr1eG8lEoVAJvONs95FZ/YNdGbbcbmcXt8UW13LCIVCaLXae79WqVT9us7RggVUHUAIIY+yGu65ubmorKwEANTW1iIiIqJf1xFCCHE+q+FeUFCAX3/9FatWrcLbb7+NsrIyrFu3DqdOnbJ6HSGEEPfgMAxjddGt1+shFoshEomQl5fX7+t60pedO0A7Ol9BZ/YNdGbbWdu52/Qdqnw+H0VFRQ67jhBCiHOx4jtUCSGEPIzCnRBCWMhjisO43L7/7NL+PNZb0Zl9A53ZN/TlzNYeY9MXVAkhhHgXWssQQggLUbgTQggLUbgTQggLUbgTQggLUbgTQggLUbgTQggLUbgTQggLUbgTQggLUbgTQggLUbgTQggLeU24r1+/HiUlJViyZAnkcnm/r/N0tpxDpVJh2bJlWLx4MebOnYsrV664eErHsve1e/vtt7Fz504XTOY89px5586d+OCDD1w0mfPYcmapVIolS5agrKwMZWVlaGpqcvGUjmUwGPDGG2/g9OnTvV7n0PxivIBEImFefPFFxmg0MidPnmQ+/PDDfl3n6Ww9x5dffsns27ePYRiGKS8vZ9566y1XjulQ9r52+/btY4YNG8bs2LHDRRM6nj1nrqurY4qLi5nOzk4XTuh4tp75008/Zb777juGYRhmz549zMcff+zKMR3KYDAwS5cuZWbMmMFUVlY+8TpH55dXvHOvqKhAcXExeDwe8vPzcf78+X5d5+lsPUdpaSmmT58OAFAoFIiJiXHlmA5lz2snk8nw+eefY9GiRS6c0PFsPbPZbMaKFSuQnp6OXbt2oa2tzcWTOo6tZ46KisL169eh1Wpx4cIFpKamunhSx/rkk0+Qk5PT6zWOzi+vCHe1Wo34+HgAAIfDgUaj6dd1ns7ec7S2tmLDhg148803XTGeU9hz5o8++gjvvfcegoODXTWeU9h65t27d4PD4eDdd99FVlYWXn31VZjNZleO6jC2nnnatGm4cuUKtmzZAplMhgkTJrhyTIfy8/NDXFyc1escnV8e0+feG6FQCK1We+/XKpWqX9d5OnvOYTAYsHz5cixfvhwJCQmuGM8pbD3ztm3bkJaWhlGjRj32Q9q9ja1nvnTpEubPn4/Y2FjExsaCz+ejrq4OycnJLprUcWw989q1a7Fy5UpkZWVBqVRi2bJl2Lp1q6vGdAtH55dXvHPPzc1FZWUlAKC2thYRERH9us7T2XoOk8mE5cuXo7CwEIWFha4c0eFsPfPhw4fx888/o6ysDN999x3Wr1+P8vJyV47qMLaeOS0tDTU1NQAAuVyO5uZmm94JeiJbz6xSqVBdXQ0AqKysBIfD/h/g4ej88oof1mEymVBaWoqcnBxIJBLMmzcPSqUSubm5KCgo6PW60tJSN07eN7ae99tvv8WqVaswdOhQAEBCQgL+/ve/u2vsfrH1zA/67LPPkJiYiBdeeMHF0zqGrWfu6urChx9+iPr6erS3t+Ott97C7Nmz3Th539l65qtXr+L9999HTU0NEhISsGrVKuTl5blx8v579913UVJSgrFjx2LdunVOzy+vCHcA0Ov1EIvFEIlEvb7Itl7n6dhyDnvQmenMvs6RvzdeE+6EEEJs5xU7d0IIIfahcCeEEBaicCeEEBaicCeEEBaicCeEEBb6/4INsloan6YHAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "\n",
    "plt.plot(fpr,tpr,c='b',label='roc曲线')\n",
    "plt.plot(fpr,fpr,c='r',ls='--')"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "incorporated-pitch",
   "metadata": {},
   "source": [
    "## 输出规则"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 116,
   "id": "latin-receiver",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\r\n",
       "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\r\n",
       " \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n",
       "<!-- Generated by graphviz version 2.38.0 (20140413.2041)\r\n",
       " -->\r\n",
       "<!-- Title: Tree Pages: 1 -->\r\n",
       "<svg width=\"7764pt\" height=\"790pt\"\r\n",
       " viewBox=\"0.00 0.00 7763.50 790.00\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\r\n",
       "<g id=\"graph0\" class=\"graph\" transform=\"scale(1 1) rotate(0) translate(4 786)\">\r\n",
       "<title>Tree</title>\r\n",
       "<polygon fill=\"white\" stroke=\"none\" points=\"-4,4 -4,-786 7759.5,-786 7759.5,4 -4,4\"/>\r\n",
       "<!-- 0 -->\r\n",
       "<g id=\"node1\" class=\"node\"><title>0</title>\r\n",
       "<path fill=\"#f6d5bd\" stroke=\"black\" d=\"M4196.5,-782C4196.5,-782 4057.5,-782 4057.5,-782 4051.5,-782 4045.5,-776 4045.5,-770 4045.5,-770 4045.5,-711 4045.5,-711 4045.5,-705 4051.5,-699 4057.5,-699 4057.5,-699 4196.5,-699 4196.5,-699 4202.5,-699 4208.5,-705 4208.5,-711 4208.5,-711 4208.5,-770 4208.5,-770 4208.5,-776 4202.5,-782 4196.5,-782\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"4127\" y=\"-766.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">所处的省份_CA &lt;= 0.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"4127\" y=\"-751.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.971</text>\r\n",
       "<text text-anchor=\"middle\" x=\"4127\" y=\"-736.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 30566</text>\r\n",
       "<text text-anchor=\"middle\" x=\"4127\" y=\"-721.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [18354, 12212]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"4127\" y=\"-706.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 1 -->\r\n",
       "<g id=\"node2\" class=\"node\"><title>1</title>\r\n",
       "<path fill=\"#fbede3\" stroke=\"black\" d=\"M3239.5,-663C3239.5,-663 3100.5,-663 3100.5,-663 3094.5,-663 3088.5,-657 3088.5,-651 3088.5,-651 3088.5,-592 3088.5,-592 3088.5,-586 3094.5,-580 3100.5,-580 3100.5,-580 3239.5,-580 3239.5,-580 3245.5,-580 3251.5,-586 3251.5,-592 3251.5,-592 3251.5,-651 3251.5,-651 3251.5,-657 3245.5,-663 3239.5,-663\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"3170\" y=\"-647.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">所处的省份_NY &lt;= 0.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3170\" y=\"-632.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.996</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3170\" y=\"-617.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 22389</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3170\" y=\"-602.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [12051, 10338]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3170\" y=\"-587.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 0&#45;&gt;1 -->\r\n",
       "<g id=\"edge1\" class=\"edge\"><title>0&#45;&gt;1</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M4045.41,-729.525C3867.98,-707.833 3448.07,-656.496 3261.77,-633.719\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"3262.08,-630.231 3251.73,-632.492 3261.23,-637.179 3262.08,-630.231\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"3267.13\" y=\"-648.484\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">True</text>\r\n",
       "</g>\r\n",
       "<!-- 60 -->\r\n",
       "<g id=\"node61\" class=\"node\"><title>60</title>\r\n",
       "<path fill=\"#eda674\" stroke=\"black\" d=\"M5194.5,-663C5194.5,-663 5027.5,-663 5027.5,-663 5021.5,-663 5015.5,-657 5015.5,-651 5015.5,-651 5015.5,-592 5015.5,-592 5015.5,-586 5021.5,-580 5027.5,-580 5027.5,-580 5194.5,-580 5194.5,-580 5200.5,-580 5206.5,-586 5206.5,-592 5206.5,-592 5206.5,-651 5206.5,-651 5206.5,-657 5200.5,-663 5194.5,-663\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"5111\" y=\"-647.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">是否通过快递买过东西_U &lt;= 0.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"5111\" y=\"-632.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.777</text>\r\n",
       "<text text-anchor=\"middle\" x=\"5111\" y=\"-617.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 8177</text>\r\n",
       "<text text-anchor=\"middle\" x=\"5111\" y=\"-602.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [6303, 1874]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"5111\" y=\"-587.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 0&#45;&gt;60 -->\r\n",
       "<g id=\"edge60\" class=\"edge\"><title>0&#45;&gt;60</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M4208.78,-729.776C4386.48,-708.648 4807.67,-658.567 5005.24,-635.075\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"5005.83,-638.53 5015.34,-633.874 5005,-631.579 5005.83,-638.53\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"4999.88\" y=\"-649.815\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">False</text>\r\n",
       "</g>\r\n",
       "<!-- 2 -->\r\n",
       "<g id=\"node3\" class=\"node\"><title>2</title>\r\n",
       "<path fill=\"#f8ddc9\" stroke=\"black\" d=\"M1771.5,-544C1771.5,-544 1640.5,-544 1640.5,-544 1634.5,-544 1628.5,-538 1628.5,-532 1628.5,-532 1628.5,-473 1628.5,-473 1628.5,-467 1634.5,-461 1640.5,-461 1640.5,-461 1771.5,-461 1771.5,-461 1777.5,-461 1783.5,-467 1783.5,-473 1783.5,-473 1783.5,-532 1783.5,-532 1783.5,-538 1777.5,-544 1771.5,-544\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"1706\" y=\"-528.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">ilor &lt;= 5.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"1706\" y=\"-513.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.982</text>\r\n",
       "<text text-anchor=\"middle\" x=\"1706\" y=\"-498.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 17835</text>\r\n",
       "<text text-anchor=\"middle\" x=\"1706\" y=\"-483.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [10319, 7516]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"1706\" y=\"-468.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 1&#45;&gt;2 -->\r\n",
       "<g id=\"edge2\" class=\"edge\"><title>1&#45;&gt;2</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M3088.42,-613.98C2834.08,-593.654 2056.93,-531.546 1794.01,-510.533\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1793.99,-507.021 1783.75,-509.713 1793.44,-513.999 1793.99,-507.021\"/>\r\n",
       "</g>\r\n",
       "<!-- 33 -->\r\n",
       "<g id=\"node34\" class=\"node\"><title>33</title>\r\n",
       "<path fill=\"#b3d9f5\" stroke=\"black\" d=\"M3231,-544C3231,-544 3109,-544 3109,-544 3103,-544 3097,-538 3097,-532 3097,-532 3097,-473 3097,-473 3097,-467 3103,-461 3109,-461 3109,-461 3231,-461 3231,-461 3237,-461 3243,-467 3243,-473 3243,-473 3243,-532 3243,-532 3243,-538 3237,-544 3231,-544\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"3170\" y=\"-528.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">age &lt;= 70.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3170\" y=\"-513.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.958</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3170\" y=\"-498.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 4554</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3170\" y=\"-483.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [1732, 2822]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3170\" y=\"-468.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 1&#45;&gt;33 -->\r\n",
       "<g id=\"edge33\" class=\"edge\"><title>1&#45;&gt;33</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M3170,-579.907C3170,-571.649 3170,-562.864 3170,-554.302\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"3173.5,-554.021 3170,-544.021 3166.5,-554.021 3173.5,-554.021\"/>\r\n",
       "</g>\r\n",
       "<!-- 3 -->\r\n",
       "<g id=\"node4\" class=\"node\"><title>3</title>\r\n",
       "<path fill=\"#e5f2fc\" stroke=\"black\" d=\"M906,-425C906,-425 784,-425 784,-425 778,-425 772,-419 772,-413 772,-413 772,-354 772,-354 772,-348 778,-342 784,-342 784,-342 906,-342 906,-342 912,-342 918,-348 918,-354 918,-354 918,-413 918,-413 918,-419 912,-425 906,-425\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"845\" y=\"-409.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">age &lt;= 67.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"845\" y=\"-394.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.997</text>\r\n",
       "<text text-anchor=\"middle\" x=\"845\" y=\"-379.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 3554</text>\r\n",
       "<text text-anchor=\"middle\" x=\"845\" y=\"-364.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [1654, 1900]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"845\" y=\"-349.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 2&#45;&gt;3 -->\r\n",
       "<g id=\"edge3\" class=\"edge\"><title>2&#45;&gt;3</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1628.45,-490.962C1466.81,-468.996 1095.04,-418.477 928.428,-395.837\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"928.617,-392.331 918.237,-394.452 927.675,-399.267 928.617,-392.331\"/>\r\n",
       "</g>\r\n",
       "<!-- 18 -->\r\n",
       "<g id=\"node19\" class=\"node\"><title>18</title>\r\n",
       "<path fill=\"#f6d3b9\" stroke=\"black\" d=\"M1789.5,-425C1789.5,-425 1622.5,-425 1622.5,-425 1616.5,-425 1610.5,-419 1610.5,-413 1610.5,-413 1610.5,-354 1610.5,-354 1610.5,-348 1616.5,-342 1622.5,-342 1622.5,-342 1789.5,-342 1789.5,-342 1795.5,-342 1801.5,-348 1801.5,-354 1801.5,-354 1801.5,-413 1801.5,-413 1801.5,-419 1795.5,-425 1789.5,-425\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"1706\" y=\"-409.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">是否通过快递买过东西_U &lt;= 0.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"1706\" y=\"-394.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.967</text>\r\n",
       "<text text-anchor=\"middle\" x=\"1706\" y=\"-379.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 14281</text>\r\n",
       "<text text-anchor=\"middle\" x=\"1706\" y=\"-364.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [8665, 5616]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"1706\" y=\"-349.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 2&#45;&gt;18 -->\r\n",
       "<g id=\"edge18\" class=\"edge\"><title>2&#45;&gt;18</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1706,-460.907C1706,-452.649 1706,-443.864 1706,-435.302\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1709.5,-435.021 1706,-425.021 1702.5,-435.021 1709.5,-435.021\"/>\r\n",
       "</g>\r\n",
       "<!-- 4 -->\r\n",
       "<g id=\"node5\" class=\"node\"><title>4</title>\r\n",
       "<path fill=\"#a9d4f4\" stroke=\"black\" d=\"M461,-306C461,-306 355,-306 355,-306 349,-306 343,-300 343,-294 343,-294 343,-235 343,-235 343,-229 349,-223 355,-223 355,-223 461,-223 461,-223 467,-223 473,-229 473,-235 473,-235 473,-294 473,-294 473,-300 467,-306 461,-306\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"408\" y=\"-290.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">c210pmr &lt;= 40.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"408\" y=\"-275.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.944</text>\r\n",
       "<text text-anchor=\"middle\" x=\"408\" y=\"-260.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 952</text>\r\n",
       "<text text-anchor=\"middle\" x=\"408\" y=\"-245.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [344, 608]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"408\" y=\"-230.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 3&#45;&gt;4 -->\r\n",
       "<g id=\"edge4\" class=\"edge\"><title>3&#45;&gt;4</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M771.856,-362.917C691.817,-341.488 564.155,-307.308 483.281,-285.655\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"483.733,-282.153 473.168,-282.948 481.922,-288.915 483.733,-282.153\"/>\r\n",
       "</g>\r\n",
       "<!-- 11 -->\r\n",
       "<g id=\"node12\" class=\"node\"><title>11</title>\r\n",
       "<path fill=\"#fffdfc\" stroke=\"black\" d=\"M906,-306C906,-306 784,-306 784,-306 778,-306 772,-300 772,-294 772,-294 772,-235 772,-235 772,-229 778,-223 784,-223 784,-223 906,-223 906,-223 912,-223 918,-229 918,-235 918,-235 918,-294 918,-294 918,-300 912,-306 906,-306\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"845\" y=\"-290.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">c210pmr &lt;= 59.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"845\" y=\"-275.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 1.0</text>\r\n",
       "<text text-anchor=\"middle\" x=\"845\" y=\"-260.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 2602</text>\r\n",
       "<text text-anchor=\"middle\" x=\"845\" y=\"-245.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [1310, 1292]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"845\" y=\"-230.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 3&#45;&gt;11 -->\r\n",
       "<g id=\"edge11\" class=\"edge\"><title>3&#45;&gt;11</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M845,-341.907C845,-333.649 845,-324.864 845,-316.302\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"848.5,-316.021 845,-306.021 841.5,-316.021 848.5,-316.021\"/>\r\n",
       "</g>\r\n",
       "<!-- 5 -->\r\n",
       "<g id=\"node6\" class=\"node\"><title>5</title>\r\n",
       "<path fill=\"#7fc0ee\" stroke=\"black\" d=\"M248,-187C248,-187 142,-187 142,-187 136,-187 130,-181 130,-175 130,-175 130,-116 130,-116 130,-110 136,-104 142,-104 142,-104 248,-104 248,-104 254,-104 260,-110 260,-116 260,-116 260,-175 260,-175 260,-181 254,-187 248,-187\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"195\" y=\"-171.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">pdpe &lt;= 54.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"195\" y=\"-156.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.83</text>\r\n",
       "<text text-anchor=\"middle\" x=\"195\" y=\"-141.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 381</text>\r\n",
       "<text text-anchor=\"middle\" x=\"195\" y=\"-126.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [100, 281]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"195\" y=\"-111.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 4&#45;&gt;5 -->\r\n",
       "<g id=\"edge5\" class=\"edge\"><title>4&#45;&gt;5</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M342.936,-227.76C319.612,-214.949 293.146,-200.411 269.113,-187.21\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"270.483,-183.969 260.033,-182.222 267.112,-190.104 270.483,-183.969\"/>\r\n",
       "</g>\r\n",
       "<!-- 8 -->\r\n",
       "<g id=\"node9\" class=\"node\"><title>8</title>\r\n",
       "<path fill=\"#cde6f8\" stroke=\"black\" d=\"M461,-187C461,-187 355,-187 355,-187 349,-187 343,-181 343,-175 343,-175 343,-116 343,-116 343,-110 349,-104 355,-104 355,-104 461,-104 461,-104 467,-104 473,-110 473,-116 473,-116 473,-175 473,-175 473,-181 467,-187 461,-187\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"408\" y=\"-171.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">N65P &lt;= 0.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"408\" y=\"-156.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.985</text>\r\n",
       "<text text-anchor=\"middle\" x=\"408\" y=\"-141.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 571</text>\r\n",
       "<text text-anchor=\"middle\" x=\"408\" y=\"-126.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [244, 327]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"408\" y=\"-111.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 4&#45;&gt;8 -->\r\n",
       "<g id=\"edge8\" class=\"edge\"><title>4&#45;&gt;8</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M408,-222.907C408,-214.649 408,-205.864 408,-197.302\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"411.5,-197.021 408,-187.021 404.5,-197.021 411.5,-197.021\"/>\r\n",
       "</g>\r\n",
       "<!-- 6 -->\r\n",
       "<g id=\"node7\" class=\"node\"><title>6</title>\r\n",
       "<path fill=\"#a7d3f3\" stroke=\"black\" d=\"M104,-68C104,-68 12,-68 12,-68 6,-68 0,-62 0,-56 0,-56 0,-12 0,-12 0,-6 6,-0 12,-0 12,-0 104,-0 104,-0 110,-0 116,-6 116,-12 116,-12 116,-56 116,-56 116,-62 110,-68 104,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"58\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.939</text>\r\n",
       "<text text-anchor=\"middle\" x=\"58\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 146</text>\r\n",
       "<text text-anchor=\"middle\" x=\"58\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [52, 94]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"58\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 5&#45;&gt;6 -->\r\n",
       "<g id=\"edge6\" class=\"edge\"><title>5&#45;&gt;6</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M143.986,-103.726C132.118,-94.2406 119.5,-84.1551 107.69,-74.7159\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"109.659,-71.8091 99.6625,-68.2996 105.289,-77.2771 109.659,-71.8091\"/>\r\n",
       "</g>\r\n",
       "<!-- 7 -->\r\n",
       "<g id=\"node8\" class=\"node\"><title>7</title>\r\n",
       "<path fill=\"#6cb6ec\" stroke=\"black\" d=\"M244,-68C244,-68 146,-68 146,-68 140,-68 134,-62 134,-56 134,-56 134,-12 134,-12 134,-6 140,-0 146,-0 146,-0 244,-0 244,-0 250,-0 256,-6 256,-12 256,-12 256,-56 256,-56 256,-62 250,-68 244,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"195\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.73</text>\r\n",
       "<text text-anchor=\"middle\" x=\"195\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 235</text>\r\n",
       "<text text-anchor=\"middle\" x=\"195\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [48, 187]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"195\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 5&#45;&gt;7 -->\r\n",
       "<g id=\"edge7\" class=\"edge\"><title>5&#45;&gt;7</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M195,-103.726C195,-95.5175 195,-86.8595 195,-78.56\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"198.5,-78.2996 195,-68.2996 191.5,-78.2996 198.5,-78.2996\"/>\r\n",
       "</g>\r\n",
       "<!-- 9 -->\r\n",
       "<g id=\"node10\" class=\"node\"><title>9</title>\r\n",
       "<path fill=\"#eda673\" stroke=\"black\" d=\"M378,-68C378,-68 286,-68 286,-68 280,-68 274,-62 274,-56 274,-56 274,-12 274,-12 274,-6 280,-0 286,-0 286,-0 378,-0 378,-0 384,-0 390,-6 390,-12 390,-12 390,-56 390,-56 390,-62 384,-68 378,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"332\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.771</text>\r\n",
       "<text text-anchor=\"middle\" x=\"332\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 31</text>\r\n",
       "<text text-anchor=\"middle\" x=\"332\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [24, 7]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"332\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 8&#45;&gt;9 -->\r\n",
       "<g id=\"edge9\" class=\"edge\"><title>8&#45;&gt;9</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M379.7,-103.726C373.56,-94.879 367.057,-85.51 360.894,-76.6303\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"363.689,-74.5191 355.112,-68.2996 357.939,-78.5104 363.689,-74.5191\"/>\r\n",
       "</g>\r\n",
       "<!-- 10 -->\r\n",
       "<g id=\"node11\" class=\"node\"><title>10</title>\r\n",
       "<path fill=\"#c1e0f7\" stroke=\"black\" d=\"M526,-68C526,-68 420,-68 420,-68 414,-68 408,-62 408,-56 408,-56 408,-12 408,-12 408,-6 414,-0 420,-0 420,-0 526,-0 526,-0 532,-0 538,-6 538,-12 538,-12 538,-56 538,-56 538,-62 532,-68 526,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"473\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.975</text>\r\n",
       "<text text-anchor=\"middle\" x=\"473\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 540</text>\r\n",
       "<text text-anchor=\"middle\" x=\"473\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [220, 320]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"473\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 8&#45;&gt;10 -->\r\n",
       "<g id=\"edge10\" class=\"edge\"><title>8&#45;&gt;10</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M432.204,-103.726C437.401,-94.9703 442.902,-85.7032 448.125,-76.9051\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"451.138,-78.6853 453.233,-68.2996 445.119,-75.1121 451.138,-78.6853\"/>\r\n",
       "</g>\r\n",
       "<!-- 12 -->\r\n",
       "<g id=\"node13\" class=\"node\"><title>12</title>\r\n",
       "<path fill=\"#edf6fd\" stroke=\"black\" d=\"M828,-187C828,-187 706,-187 706,-187 700,-187 694,-181 694,-175 694,-175 694,-116 694,-116 694,-110 700,-104 706,-104 706,-104 828,-104 828,-104 834,-104 840,-110 840,-116 840,-116 840,-175 840,-175 840,-181 834,-187 828,-187\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"767\" y=\"-171.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">幸福指数_1.0 &lt;= 0.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"767\" y=\"-156.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.998</text>\r\n",
       "<text text-anchor=\"middle\" x=\"767\" y=\"-141.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 2146</text>\r\n",
       "<text text-anchor=\"middle\" x=\"767\" y=\"-126.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [1023, 1123]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"767\" y=\"-111.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 11&#45;&gt;12 -->\r\n",
       "<g id=\"edge12\" class=\"edge\"><title>11&#45;&gt;12</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M817.938,-222.907C812.07,-214.105 805.802,-204.703 799.741,-195.612\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"802.473,-193.4 794.014,-187.021 796.649,-197.283 802.473,-193.4\"/>\r\n",
       "</g>\r\n",
       "<!-- 15 -->\r\n",
       "<g id=\"node16\" class=\"node\"><title>15</title>\r\n",
       "<path fill=\"#f4cbae\" stroke=\"black\" d=\"M976,-187C976,-187 870,-187 870,-187 864,-187 858,-181 858,-175 858,-175 858,-116 858,-116 858,-110 864,-104 870,-104 870,-104 976,-104 976,-104 982,-104 988,-110 988,-116 988,-116 988,-175 988,-175 988,-181 982,-187 976,-187\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"923\" y=\"-171.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">AVIS &lt;= 0.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"923\" y=\"-156.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.951</text>\r\n",
       "<text text-anchor=\"middle\" x=\"923\" y=\"-141.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 456</text>\r\n",
       "<text text-anchor=\"middle\" x=\"923\" y=\"-126.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [287, 169]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"923\" y=\"-111.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 11&#45;&gt;15 -->\r\n",
       "<g id=\"edge15\" class=\"edge\"><title>11&#45;&gt;15</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M872.062,-222.907C877.93,-214.105 884.198,-204.703 890.259,-195.612\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"893.351,-197.283 895.986,-187.021 887.527,-193.4 893.351,-197.283\"/>\r\n",
       "</g>\r\n",
       "<!-- 13 -->\r\n",
       "<g id=\"node14\" class=\"node\"><title>13</title>\r\n",
       "<path fill=\"#dfeffb\" stroke=\"black\" d=\"M682,-68C682,-68 568,-68 568,-68 562,-68 556,-62 556,-56 556,-56 556,-12 556,-12 556,-6 562,-0 568,-0 568,-0 682,-0 682,-0 688,-0 694,-6 694,-12 694,-12 694,-56 694,-56 694,-62 688,-68 682,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"625\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.994</text>\r\n",
       "<text text-anchor=\"middle\" x=\"625\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 1897</text>\r\n",
       "<text text-anchor=\"middle\" x=\"625\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [864, 1033]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"625\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 12&#45;&gt;13 -->\r\n",
       "<g id=\"edge13\" class=\"edge\"><title>12&#45;&gt;13</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M714.124,-103.726C701.705,-94.1494 688.493,-83.9611 676.151,-74.4438\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"678.239,-71.6345 668.183,-68.2996 673.965,-77.1778 678.239,-71.6345\"/>\r\n",
       "</g>\r\n",
       "<!-- 14 -->\r\n",
       "<g id=\"node15\" class=\"node\"><title>14</title>\r\n",
       "<path fill=\"#f4c8a9\" stroke=\"black\" d=\"M822,-68C822,-68 724,-68 724,-68 718,-68 712,-62 712,-56 712,-56 712,-12 712,-12 712,-6 718,-0 724,-0 724,-0 822,-0 822,-0 828,-0 834,-6 834,-12 834,-12 834,-56 834,-56 834,-62 828,-68 822,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"773\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.944</text>\r\n",
       "<text text-anchor=\"middle\" x=\"773\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 249</text>\r\n",
       "<text text-anchor=\"middle\" x=\"773\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [159, 90]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"773\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 12&#45;&gt;14 -->\r\n",
       "<g id=\"edge14\" class=\"edge\"><title>12&#45;&gt;14</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M769.234,-103.726C769.684,-95.5175 770.158,-86.8595 770.613,-78.56\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"774.123,-78.4761 771.175,-68.2996 767.133,-78.0931 774.123,-78.4761\"/>\r\n",
       "</g>\r\n",
       "<!-- 16 -->\r\n",
       "<g id=\"node17\" class=\"node\"><title>16</title>\r\n",
       "<path fill=\"#f7d8c2\" stroke=\"black\" d=\"M970,-68C970,-68 864,-68 864,-68 858,-68 852,-62 852,-56 852,-56 852,-12 852,-12 852,-6 858,-0 864,-0 864,-0 970,-0 970,-0 976,-0 982,-6 982,-12 982,-12 982,-56 982,-56 982,-62 976,-68 970,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"917\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.976</text>\r\n",
       "<text text-anchor=\"middle\" x=\"917\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 374</text>\r\n",
       "<text text-anchor=\"middle\" x=\"917\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [221, 153]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"917\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 15&#45;&gt;16 -->\r\n",
       "<g id=\"edge16\" class=\"edge\"><title>15&#45;&gt;16</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M920.766,-103.726C920.316,-95.5175 919.842,-86.8595 919.387,-78.56\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"922.867,-78.0931 918.825,-68.2996 915.877,-78.4761 922.867,-78.0931\"/>\r\n",
       "</g>\r\n",
       "<!-- 17 -->\r\n",
       "<g id=\"node18\" class=\"node\"><title>17</title>\r\n",
       "<path fill=\"#eba069\" stroke=\"black\" d=\"M1104,-68C1104,-68 1012,-68 1012,-68 1006,-68 1000,-62 1000,-56 1000,-56 1000,-12 1000,-12 1000,-6 1006,-0 1012,-0 1012,-0 1104,-0 1104,-0 1110,-0 1116,-6 1116,-12 1116,-12 1116,-56 1116,-56 1116,-62 1110,-68 1104,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"1058\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.712</text>\r\n",
       "<text text-anchor=\"middle\" x=\"1058\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 82</text>\r\n",
       "<text text-anchor=\"middle\" x=\"1058\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [66, 16]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"1058\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 15&#45;&gt;17 -->\r\n",
       "<g id=\"edge17\" class=\"edge\"><title>15&#45;&gt;17</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M973.269,-103.726C984.964,-94.2406 997.398,-84.1551 1009.04,-74.7159\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1011.38,-77.3173 1016.95,-68.2996 1006.97,-71.8808 1011.38,-77.3173\"/>\r\n",
       "</g>\r\n",
       "<!-- 19 -->\r\n",
       "<g id=\"node20\" class=\"node\"><title>19</title>\r\n",
       "<path fill=\"#f7d7c0\" stroke=\"black\" d=\"M1654,-306C1654,-306 1532,-306 1532,-306 1526,-306 1520,-300 1520,-294 1520,-294 1520,-235 1520,-235 1520,-229 1526,-223 1532,-223 1532,-223 1654,-223 1654,-223 1660,-223 1666,-229 1666,-235 1666,-235 1666,-294 1666,-294 1666,-300 1660,-306 1654,-306\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"1593\" y=\"-290.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">pdpe &lt;= 54.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"1593\" y=\"-275.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.974</text>\r\n",
       "<text text-anchor=\"middle\" x=\"1593\" y=\"-260.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 13375</text>\r\n",
       "<text text-anchor=\"middle\" x=\"1593\" y=\"-245.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [7948, 5427]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"1593\" y=\"-230.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 18&#45;&gt;19 -->\r\n",
       "<g id=\"edge19\" class=\"edge\"><title>18&#45;&gt;19</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1666.8,-341.907C1657.94,-332.742 1648.46,-322.927 1639.35,-313.489\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1641.6,-310.782 1632.14,-306.021 1636.57,-315.645 1641.6,-310.782\"/>\r\n",
       "</g>\r\n",
       "<!-- 26 -->\r\n",
       "<g id=\"node27\" class=\"node\"><title>26</title>\r\n",
       "<path fill=\"#eca26d\" stroke=\"black\" d=\"M1939,-306C1939,-306 1833,-306 1833,-306 1827,-306 1821,-300 1821,-294 1821,-294 1821,-235 1821,-235 1821,-229 1827,-223 1833,-223 1833,-223 1939,-223 1939,-223 1945,-223 1951,-229 1951,-235 1951,-235 1951,-294 1951,-294 1951,-300 1945,-306 1939,-306\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"1886\" y=\"-290.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">学历_3 &lt;= 0.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"1886\" y=\"-275.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.739</text>\r\n",
       "<text text-anchor=\"middle\" x=\"1886\" y=\"-260.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 906</text>\r\n",
       "<text text-anchor=\"middle\" x=\"1886\" y=\"-245.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [717, 189]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"1886\" y=\"-230.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 18&#45;&gt;26 -->\r\n",
       "<g id=\"edge26\" class=\"edge\"><title>18&#45;&gt;26</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1768.45,-341.907C1783.53,-332.106 1799.75,-321.563 1815.18,-311.533\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1817.18,-314.405 1823.66,-306.021 1813.37,-308.536 1817.18,-314.405\"/>\r\n",
       "</g>\r\n",
       "<!-- 20 -->\r\n",
       "<g id=\"node21\" class=\"node\"><title>20</title>\r\n",
       "<path fill=\"#f3c7a7\" stroke=\"black\" d=\"M1420,-187C1420,-187 1298,-187 1298,-187 1292,-187 1286,-181 1286,-175 1286,-175 1286,-116 1286,-116 1286,-110 1292,-104 1298,-104 1298,-104 1420,-104 1420,-104 1426,-104 1432,-110 1432,-116 1432,-116 1432,-175 1432,-175 1432,-181 1426,-187 1420,-187\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"1359\" y=\"-171.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">c210pmr &lt;= 46.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"1359\" y=\"-156.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.939</text>\r\n",
       "<text text-anchor=\"middle\" x=\"1359\" y=\"-141.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 4329</text>\r\n",
       "<text text-anchor=\"middle\" x=\"1359\" y=\"-126.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [2787, 1542]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"1359\" y=\"-111.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 19&#45;&gt;20 -->\r\n",
       "<g id=\"edge20\" class=\"edge\"><title>19&#45;&gt;20</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1519.92,-226.962C1494.97,-214.486 1466.9,-200.452 1441.28,-187.64\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1442.84,-184.505 1432.33,-183.163 1439.71,-190.766 1442.84,-184.505\"/>\r\n",
       "</g>\r\n",
       "<!-- 23 -->\r\n",
       "<g id=\"node24\" class=\"node\"><title>23</title>\r\n",
       "<path fill=\"#f9e0ce\" stroke=\"black\" d=\"M1654,-187C1654,-187 1532,-187 1532,-187 1526,-187 1520,-181 1520,-175 1520,-175 1520,-116 1520,-116 1520,-110 1526,-104 1532,-104 1532,-104 1654,-104 1654,-104 1660,-104 1666,-110 1666,-116 1666,-116 1666,-175 1666,-175 1666,-181 1660,-187 1654,-187\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"1593\" y=\"-171.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">c210apvt &lt;= 84.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"1593\" y=\"-156.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.986</text>\r\n",
       "<text text-anchor=\"middle\" x=\"1593\" y=\"-141.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 9046</text>\r\n",
       "<text text-anchor=\"middle\" x=\"1593\" y=\"-126.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [5161, 3885]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"1593\" y=\"-111.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 19&#45;&gt;23 -->\r\n",
       "<g id=\"edge23\" class=\"edge\"><title>19&#45;&gt;23</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1593,-222.907C1593,-214.649 1593,-205.864 1593,-197.302\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1596.5,-197.021 1593,-187.021 1589.5,-197.021 1596.5,-197.021\"/>\r\n",
       "</g>\r\n",
       "<!-- 21 -->\r\n",
       "<g id=\"node22\" class=\"node\"><title>21</title>\r\n",
       "<path fill=\"#f6d4bb\" stroke=\"black\" d=\"M1260,-68C1260,-68 1146,-68 1146,-68 1140,-68 1134,-62 1134,-56 1134,-56 1134,-12 1134,-12 1134,-6 1140,-0 1146,-0 1146,-0 1260,-0 1260,-0 1266,-0 1272,-6 1272,-12 1272,-12 1272,-56 1272,-56 1272,-62 1266,-68 1260,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"1203\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.969</text>\r\n",
       "<text text-anchor=\"middle\" x=\"1203\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 2216</text>\r\n",
       "<text text-anchor=\"middle\" x=\"1203\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [1338, 878]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"1203\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 20&#45;&gt;21 -->\r\n",
       "<g id=\"edge21\" class=\"edge\"><title>20&#45;&gt;21</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1300.91,-103.726C1287.14,-94.0582 1272.48,-83.767 1258.81,-74.172\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1260.64,-71.1801 1250.44,-68.2996 1256.61,-76.9096 1260.64,-71.1801\"/>\r\n",
       "</g>\r\n",
       "<!-- 22 -->\r\n",
       "<g id=\"node23\" class=\"node\"><title>22</title>\r\n",
       "<path fill=\"#f1bb94\" stroke=\"black\" d=\"M1416,-68C1416,-68 1302,-68 1302,-68 1296,-68 1290,-62 1290,-56 1290,-56 1290,-12 1290,-12 1290,-6 1296,-0 1302,-0 1302,-0 1416,-0 1416,-0 1422,-0 1428,-6 1428,-12 1428,-12 1428,-56 1428,-56 1428,-62 1422,-68 1416,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"1359\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.898</text>\r\n",
       "<text text-anchor=\"middle\" x=\"1359\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 2113</text>\r\n",
       "<text text-anchor=\"middle\" x=\"1359\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [1449, 664]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"1359\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 20&#45;&gt;22 -->\r\n",
       "<g id=\"edge22\" class=\"edge\"><title>20&#45;&gt;22</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1359,-103.726C1359,-95.5175 1359,-86.8595 1359,-78.56\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1362.5,-78.2996 1359,-68.2996 1355.5,-78.2996 1362.5,-78.2996\"/>\r\n",
       "</g>\r\n",
       "<!-- 24 -->\r\n",
       "<g id=\"node25\" class=\"node\"><title>24</title>\r\n",
       "<path fill=\"#fefeff\" stroke=\"black\" d=\"M1564,-68C1564,-68 1458,-68 1458,-68 1452,-68 1446,-62 1446,-56 1446,-56 1446,-12 1446,-12 1446,-6 1452,-0 1458,-0 1458,-0 1564,-0 1564,-0 1570,-0 1576,-6 1576,-12 1576,-12 1576,-56 1576,-56 1576,-62 1570,-68 1564,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"1511\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 1.0</text>\r\n",
       "<text text-anchor=\"middle\" x=\"1511\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 1781</text>\r\n",
       "<text text-anchor=\"middle\" x=\"1511\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [888, 893]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"1511\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 23&#45;&gt;24 -->\r\n",
       "<g id=\"edge24\" class=\"edge\"><title>23&#45;&gt;24</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1562.47,-103.726C1555.77,-94.7878 1548.68,-85.3168 1541.97,-76.3558\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1544.73,-74.206 1535.94,-68.2996 1539.13,-78.402 1544.73,-74.206\"/>\r\n",
       "</g>\r\n",
       "<!-- 25 -->\r\n",
       "<g id=\"node26\" class=\"node\"><title>25</title>\r\n",
       "<path fill=\"#f7d9c4\" stroke=\"black\" d=\"M1728,-68C1728,-68 1606,-68 1606,-68 1600,-68 1594,-62 1594,-56 1594,-56 1594,-12 1594,-12 1594,-6 1600,-0 1606,-0 1606,-0 1728,-0 1728,-0 1734,-0 1740,-6 1740,-12 1740,-12 1740,-56 1740,-56 1740,-62 1734,-68 1728,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"1667\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.977</text>\r\n",
       "<text text-anchor=\"middle\" x=\"1667\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 7265</text>\r\n",
       "<text text-anchor=\"middle\" x=\"1667\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [4273, 2992]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"1667\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 23&#45;&gt;25 -->\r\n",
       "<g id=\"edge25\" class=\"edge\"><title>23&#45;&gt;25</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1620.55,-103.726C1626.53,-94.879 1632.87,-85.51 1638.87,-76.6303\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1641.8,-78.5448 1644.5,-68.2996 1636,-74.6253 1641.8,-78.5448\"/>\r\n",
       "</g>\r\n",
       "<!-- 27 -->\r\n",
       "<g id=\"node28\" class=\"node\"><title>27</title>\r\n",
       "<path fill=\"#e9965b\" stroke=\"black\" d=\"M1937,-187C1937,-187 1835,-187 1835,-187 1829,-187 1823,-181 1823,-175 1823,-175 1823,-116 1823,-116 1823,-110 1829,-104 1835,-104 1835,-104 1937,-104 1937,-104 1943,-104 1949,-110 1949,-116 1949,-116 1949,-175 1949,-175 1949,-181 1943,-187 1937,-187\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"1886\" y=\"-171.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">c210pmr &lt;= 49.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"1886\" y=\"-156.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.598</text>\r\n",
       "<text text-anchor=\"middle\" x=\"1886\" y=\"-141.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 550</text>\r\n",
       "<text text-anchor=\"middle\" x=\"1886\" y=\"-126.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [470, 80]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"1886\" y=\"-111.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 26&#45;&gt;27 -->\r\n",
       "<g id=\"edge27\" class=\"edge\"><title>26&#45;&gt;27</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1886,-222.907C1886,-214.649 1886,-205.864 1886,-197.302\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1889.5,-197.021 1886,-187.021 1882.5,-197.021 1889.5,-197.021\"/>\r\n",
       "</g>\r\n",
       "<!-- 30 -->\r\n",
       "<g id=\"node31\" class=\"node\"><title>30</title>\r\n",
       "<path fill=\"#f0b990\" stroke=\"black\" d=\"M2152,-187C2152,-187 2046,-187 2046,-187 2040,-187 2034,-181 2034,-175 2034,-175 2034,-116 2034,-116 2034,-110 2040,-104 2046,-104 2046,-104 2152,-104 2152,-104 2158,-104 2164,-110 2164,-116 2164,-116 2164,-175 2164,-175 2164,-181 2158,-187 2152,-187\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"2099\" y=\"-171.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">BANK &lt;= 0.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"2099\" y=\"-156.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.889</text>\r\n",
       "<text text-anchor=\"middle\" x=\"2099\" y=\"-141.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 356</text>\r\n",
       "<text text-anchor=\"middle\" x=\"2099\" y=\"-126.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [247, 109]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"2099\" y=\"-111.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 26&#45;&gt;30 -->\r\n",
       "<g id=\"edge30\" class=\"edge\"><title>26&#45;&gt;30</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1951.06,-227.76C1974.39,-214.949 2000.85,-200.411 2024.89,-187.21\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"2026.89,-190.104 2033.97,-182.222 2023.52,-183.969 2026.89,-190.104\"/>\r\n",
       "</g>\r\n",
       "<!-- 28 -->\r\n",
       "<g id=\"node29\" class=\"node\"><title>28</title>\r\n",
       "<path fill=\"#eb9e66\" stroke=\"black\" d=\"M1868,-68C1868,-68 1770,-68 1770,-68 1764,-68 1758,-62 1758,-56 1758,-56 1758,-12 1758,-12 1758,-6 1764,-0 1770,-0 1770,-0 1868,-0 1868,-0 1874,-0 1880,-6 1880,-12 1880,-12 1880,-56 1880,-56 1880,-62 1874,-68 1868,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"1819\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.692</text>\r\n",
       "<text text-anchor=\"middle\" x=\"1819\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 340</text>\r\n",
       "<text text-anchor=\"middle\" x=\"1819\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [277, 63]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"1819\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 27&#45;&gt;28 -->\r\n",
       "<g id=\"edge28\" class=\"edge\"><title>27&#45;&gt;28</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1861.05,-103.726C1855.69,-94.9703 1850.02,-85.7032 1844.64,-76.9051\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1847.58,-75.0028 1839.38,-68.2996 1841.61,-78.6563 1847.58,-75.0028\"/>\r\n",
       "</g>\r\n",
       "<!-- 29 -->\r\n",
       "<g id=\"node30\" class=\"node\"><title>29</title>\r\n",
       "<path fill=\"#e78c4a\" stroke=\"black\" d=\"M2008,-68C2008,-68 1910,-68 1910,-68 1904,-68 1898,-62 1898,-56 1898,-56 1898,-12 1898,-12 1898,-6 1904,-0 1910,-0 1910,-0 2008,-0 2008,-0 2014,-0 2020,-6 2020,-12 2020,-12 2020,-56 2020,-56 2020,-62 2014,-68 2008,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"1959\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.406</text>\r\n",
       "<text text-anchor=\"middle\" x=\"1959\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 210</text>\r\n",
       "<text text-anchor=\"middle\" x=\"1959\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [193, 17]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"1959\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 27&#45;&gt;29 -->\r\n",
       "<g id=\"edge29\" class=\"edge\"><title>27&#45;&gt;29</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M1913.18,-103.726C1919.08,-94.879 1925.33,-85.51 1931.25,-76.6303\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"1934.17,-78.5616 1936.8,-68.2996 1928.34,-74.6787 1934.17,-78.5616\"/>\r\n",
       "</g>\r\n",
       "<!-- 31 -->\r\n",
       "<g id=\"node32\" class=\"node\"><title>31</title>\r\n",
       "<path fill=\"#efb388\" stroke=\"black\" d=\"M2148,-68C2148,-68 2050,-68 2050,-68 2044,-68 2038,-62 2038,-56 2038,-56 2038,-12 2038,-12 2038,-6 2044,-0 2050,-0 2050,-0 2148,-0 2148,-0 2154,-0 2160,-6 2160,-12 2160,-12 2160,-56 2160,-56 2160,-62 2154,-68 2148,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"2099\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.861</text>\r\n",
       "<text text-anchor=\"middle\" x=\"2099\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 341</text>\r\n",
       "<text text-anchor=\"middle\" x=\"2099\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [244, 97]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"2099\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 30&#45;&gt;31 -->\r\n",
       "<g id=\"edge31\" class=\"edge\"><title>30&#45;&gt;31</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M2099,-103.726C2099,-95.5175 2099,-86.8595 2099,-78.56\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"2102.5,-78.2996 2099,-68.2996 2095.5,-78.2996 2102.5,-78.2996\"/>\r\n",
       "</g>\r\n",
       "<!-- 32 -->\r\n",
       "<g id=\"node33\" class=\"node\"><title>32</title>\r\n",
       "<path fill=\"#6ab6ec\" stroke=\"black\" d=\"M2282,-68C2282,-68 2190,-68 2190,-68 2184,-68 2178,-62 2178,-56 2178,-56 2178,-12 2178,-12 2178,-6 2184,-0 2190,-0 2190,-0 2282,-0 2282,-0 2288,-0 2294,-6 2294,-12 2294,-12 2294,-56 2294,-56 2294,-62 2288,-68 2282,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"2236\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.722</text>\r\n",
       "<text text-anchor=\"middle\" x=\"2236\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 15</text>\r\n",
       "<text text-anchor=\"middle\" x=\"2236\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [3, 12]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"2236\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 30&#45;&gt;32 -->\r\n",
       "<g id=\"edge32\" class=\"edge\"><title>30&#45;&gt;32</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M2150.01,-103.726C2161.88,-94.2406 2174.5,-84.1551 2186.31,-74.7159\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"2188.71,-77.2771 2194.34,-68.2996 2184.34,-71.8091 2188.71,-77.2771\"/>\r\n",
       "</g>\r\n",
       "<!-- 34 -->\r\n",
       "<g id=\"node35\" class=\"node\"><title>34</title>\r\n",
       "<path fill=\"#3ea0e6\" stroke=\"black\" d=\"M3019,-425C3019,-425 2909,-425 2909,-425 2903,-425 2897,-419 2897,-413 2897,-413 2897,-354 2897,-354 2897,-348 2903,-342 2909,-342 2909,-342 3019,-342 3019,-342 3025,-342 3031,-348 3031,-354 3031,-354 3031,-413 3031,-413 3031,-419 3025,-425 3019,-425\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"2964\" y=\"-409.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">c210b200 &lt;= 10.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"2964\" y=\"-394.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.173</text>\r\n",
       "<text text-anchor=\"middle\" x=\"2964\" y=\"-379.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 1434</text>\r\n",
       "<text text-anchor=\"middle\" x=\"2964\" y=\"-364.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [37, 1397]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"2964\" y=\"-349.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 33&#45;&gt;34 -->\r\n",
       "<g id=\"edge34\" class=\"edge\"><title>33&#45;&gt;34</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M3098.53,-460.907C3079.58,-450.147 3059.06,-438.493 3039.89,-427.604\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"3041.61,-424.556 3031.19,-422.661 3038.16,-430.643 3041.61,-424.556\"/>\r\n",
       "</g>\r\n",
       "<!-- 47 -->\r\n",
       "<g id=\"node48\" class=\"node\"><title>47</title>\r\n",
       "<path fill=\"#fbebdf\" stroke=\"black\" d=\"M3482.5,-425C3482.5,-425 3315.5,-425 3315.5,-425 3309.5,-425 3303.5,-419 3303.5,-413 3303.5,-413 3303.5,-354 3303.5,-354 3303.5,-348 3309.5,-342 3315.5,-342 3315.5,-342 3482.5,-342 3482.5,-342 3488.5,-342 3494.5,-348 3494.5,-354 3494.5,-354 3494.5,-413 3494.5,-413 3494.5,-419 3488.5,-425 3482.5,-425\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"3399\" y=\"-409.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">是否通过快递买过东西_U &lt;= 0.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3399\" y=\"-394.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.995</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3399\" y=\"-379.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 3120</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3399\" y=\"-364.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [1695, 1425]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3399\" y=\"-349.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 33&#45;&gt;47 -->\r\n",
       "<g id=\"edge47\" class=\"edge\"><title>33&#45;&gt;47</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M3243.09,-464.159C3264.48,-453.226 3288.11,-441.154 3310.37,-429.784\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"3312.16,-432.796 3319.48,-425.13 3308.98,-426.563 3312.16,-432.796\"/>\r\n",
       "</g>\r\n",
       "<!-- 35 -->\r\n",
       "<g id=\"node36\" class=\"node\"><title>35</title>\r\n",
       "<path fill=\"#3c9fe5\" stroke=\"black\" d=\"M2751.5,-306C2751.5,-306 2650.5,-306 2650.5,-306 2644.5,-306 2638.5,-300 2638.5,-294 2638.5,-294 2638.5,-235 2638.5,-235 2638.5,-229 2644.5,-223 2650.5,-223 2650.5,-223 2751.5,-223 2751.5,-223 2757.5,-223 2763.5,-229 2763.5,-235 2763.5,-235 2763.5,-294 2763.5,-294 2763.5,-300 2757.5,-306 2751.5,-306\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"2701\" y=\"-290.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">c210pdv &lt;= 13.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"2701\" y=\"-275.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.114</text>\r\n",
       "<text text-anchor=\"middle\" x=\"2701\" y=\"-260.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 978</text>\r\n",
       "<text text-anchor=\"middle\" x=\"2701\" y=\"-245.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [15, 963]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"2701\" y=\"-230.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 34&#45;&gt;35 -->\r\n",
       "<g id=\"edge35\" class=\"edge\"><title>34&#45;&gt;35</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M2896.95,-352.673C2859.21,-335.884 2812.06,-314.908 2773.47,-297.74\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"2774.41,-294.329 2763.86,-293.462 2771.57,-300.725 2774.41,-294.329\"/>\r\n",
       "</g>\r\n",
       "<!-- 42 -->\r\n",
       "<g id=\"node43\" class=\"node\"><title>42</title>\r\n",
       "<path fill=\"#43a2e6\" stroke=\"black\" d=\"M3013,-306C3013,-306 2915,-306 2915,-306 2909,-306 2903,-300 2903,-294 2903,-294 2903,-235 2903,-235 2903,-229 2909,-223 2915,-223 2915,-223 3013,-223 3013,-223 3019,-223 3025,-229 3025,-235 3025,-235 3025,-294 3025,-294 3025,-300 3019,-306 3013,-306\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"2964\" y=\"-290.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">c210ebi &lt;= 35.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"2964\" y=\"-275.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.279</text>\r\n",
       "<text text-anchor=\"middle\" x=\"2964\" y=\"-260.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 456</text>\r\n",
       "<text text-anchor=\"middle\" x=\"2964\" y=\"-245.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [22, 434]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"2964\" y=\"-230.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 34&#45;&gt;42 -->\r\n",
       "<g id=\"edge42\" class=\"edge\"><title>34&#45;&gt;42</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M2964,-341.907C2964,-333.649 2964,-324.864 2964,-316.302\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"2967.5,-316.021 2964,-306.021 2960.5,-316.021 2967.5,-316.021\"/>\r\n",
       "</g>\r\n",
       "<!-- 36 -->\r\n",
       "<g id=\"node37\" class=\"node\"><title>36</title>\r\n",
       "<path fill=\"#3ea0e6\" stroke=\"black\" d=\"M2564.5,-187C2564.5,-187 2453.5,-187 2453.5,-187 2447.5,-187 2441.5,-181 2441.5,-175 2441.5,-175 2441.5,-116 2441.5,-116 2441.5,-110 2447.5,-104 2453.5,-104 2453.5,-104 2564.5,-104 2564.5,-104 2570.5,-104 2576.5,-110 2576.5,-116 2576.5,-116 2576.5,-175 2576.5,-175 2576.5,-181 2570.5,-187 2564.5,-187\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"2509\" y=\"-171.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">是否有小孩_P &lt;= 0.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"2509\" y=\"-156.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.176</text>\r\n",
       "<text text-anchor=\"middle\" x=\"2509\" y=\"-141.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 453</text>\r\n",
       "<text text-anchor=\"middle\" x=\"2509\" y=\"-126.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [12, 441]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"2509\" y=\"-111.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 35&#45;&gt;36 -->\r\n",
       "<g id=\"edge36\" class=\"edge\"><title>35&#45;&gt;36</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M2638.4,-225.352C2621.09,-214.807 2602.14,-203.255 2584.2,-192.323\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"2585.84,-189.228 2575.48,-187.013 2582.2,-195.206 2585.84,-189.228\"/>\r\n",
       "</g>\r\n",
       "<!-- 39 -->\r\n",
       "<g id=\"node40\" class=\"node\"><title>39</title>\r\n",
       "<path fill=\"#3a9ee5\" stroke=\"black\" d=\"M2784.5,-187C2784.5,-187 2617.5,-187 2617.5,-187 2611.5,-187 2605.5,-181 2605.5,-175 2605.5,-175 2605.5,-116 2605.5,-116 2605.5,-110 2611.5,-104 2617.5,-104 2617.5,-104 2784.5,-104 2784.5,-104 2790.5,-104 2796.5,-110 2796.5,-116 2796.5,-116 2796.5,-175 2796.5,-175 2796.5,-181 2790.5,-187 2784.5,-187\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"2701\" y=\"-171.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">是否通过快递买过东西_P &lt;= 0.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"2701\" y=\"-156.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.051</text>\r\n",
       "<text text-anchor=\"middle\" x=\"2701\" y=\"-141.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 525</text>\r\n",
       "<text text-anchor=\"middle\" x=\"2701\" y=\"-126.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [3, 522]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"2701\" y=\"-111.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 35&#45;&gt;39 -->\r\n",
       "<g id=\"edge39\" class=\"edge\"><title>35&#45;&gt;39</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M2701,-222.907C2701,-214.649 2701,-205.864 2701,-197.302\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"2704.5,-197.021 2701,-187.021 2697.5,-197.021 2704.5,-197.021\"/>\r\n",
       "</g>\r\n",
       "<!-- 37 -->\r\n",
       "<g id=\"node38\" class=\"node\"><title>37</title>\r\n",
       "<path fill=\"#41a1e6\" stroke=\"black\" d=\"M2422,-68C2422,-68 2324,-68 2324,-68 2318,-68 2312,-62 2312,-56 2312,-56 2312,-12 2312,-12 2312,-6 2318,-0 2324,-0 2324,-0 2422,-0 2422,-0 2428,-0 2434,-6 2434,-12 2434,-12 2434,-56 2434,-56 2434,-62 2428,-68 2422,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"2373\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.23</text>\r\n",
       "<text text-anchor=\"middle\" x=\"2373\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 321</text>\r\n",
       "<text text-anchor=\"middle\" x=\"2373\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [12, 309]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"2373\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 36&#45;&gt;37 -->\r\n",
       "<g id=\"edge37\" class=\"edge\"><title>36&#45;&gt;37</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M2458.36,-103.726C2446.58,-94.2406 2434.05,-84.1551 2422.33,-74.7159\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"2424.34,-71.8448 2414.36,-68.2996 2419.95,-77.2972 2424.34,-71.8448\"/>\r\n",
       "</g>\r\n",
       "<!-- 38 -->\r\n",
       "<g id=\"node39\" class=\"node\"><title>38</title>\r\n",
       "<path fill=\"#399de5\" stroke=\"black\" d=\"M2553.5,-68C2553.5,-68 2464.5,-68 2464.5,-68 2458.5,-68 2452.5,-62 2452.5,-56 2452.5,-56 2452.5,-12 2452.5,-12 2452.5,-6 2458.5,-0 2464.5,-0 2464.5,-0 2553.5,-0 2553.5,-0 2559.5,-0 2565.5,-6 2565.5,-12 2565.5,-12 2565.5,-56 2565.5,-56 2565.5,-62 2559.5,-68 2553.5,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"2509\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.0</text>\r\n",
       "<text text-anchor=\"middle\" x=\"2509\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 132</text>\r\n",
       "<text text-anchor=\"middle\" x=\"2509\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 132]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"2509\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 36&#45;&gt;38 -->\r\n",
       "<g id=\"edge38\" class=\"edge\"><title>36&#45;&gt;38</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M2509,-103.726C2509,-95.5175 2509,-86.8595 2509,-78.56\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"2512.5,-78.2996 2509,-68.2996 2505.5,-78.2996 2512.5,-78.2996\"/>\r\n",
       "</g>\r\n",
       "<!-- 40 -->\r\n",
       "<g id=\"node41\" class=\"node\"><title>40</title>\r\n",
       "<path fill=\"#399de5\" stroke=\"black\" d=\"M2688,-68C2688,-68 2596,-68 2596,-68 2590,-68 2584,-62 2584,-56 2584,-56 2584,-12 2584,-12 2584,-6 2590,-0 2596,-0 2596,-0 2688,-0 2688,-0 2694,-0 2700,-6 2700,-12 2700,-12 2700,-56 2700,-56 2700,-62 2694,-68 2688,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"2642\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.021</text>\r\n",
       "<text text-anchor=\"middle\" x=\"2642\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 503</text>\r\n",
       "<text text-anchor=\"middle\" x=\"2642\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [1, 502]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"2642\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 39&#45;&gt;40 -->\r\n",
       "<g id=\"edge40\" class=\"edge\"><title>39&#45;&gt;40</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M2679.03,-103.726C2674.36,-95.0615 2669.42,-85.8962 2664.73,-77.1802\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"2667.77,-75.4428 2659.94,-68.2996 2661.6,-78.7632 2667.77,-75.4428\"/>\r\n",
       "</g>\r\n",
       "<!-- 41 -->\r\n",
       "<g id=\"node42\" class=\"node\"><title>41</title>\r\n",
       "<path fill=\"#4da7e8\" stroke=\"black\" d=\"M2822,-68C2822,-68 2730,-68 2730,-68 2724,-68 2718,-62 2718,-56 2718,-56 2718,-12 2718,-12 2718,-6 2724,-0 2730,-0 2730,-0 2822,-0 2822,-0 2828,-0 2834,-6 2834,-12 2834,-12 2834,-56 2834,-56 2834,-62 2828,-68 2822,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"2776\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.439</text>\r\n",
       "<text text-anchor=\"middle\" x=\"2776\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 22</text>\r\n",
       "<text text-anchor=\"middle\" x=\"2776\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [2, 20]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"2776\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 39&#45;&gt;41 -->\r\n",
       "<g id=\"edge41\" class=\"edge\"><title>39&#45;&gt;41</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M2728.93,-103.726C2734.99,-94.879 2741.4,-85.51 2747.49,-76.6303\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"2750.43,-78.5277 2753.19,-68.2996 2744.65,-74.5721 2750.43,-78.5277\"/>\r\n",
       "</g>\r\n",
       "<!-- 43 -->\r\n",
       "<g id=\"node44\" class=\"node\"><title>43</title>\r\n",
       "<path fill=\"#399de5\" stroke=\"black\" d=\"M2929.5,-179.5C2929.5,-179.5 2848.5,-179.5 2848.5,-179.5 2842.5,-179.5 2836.5,-173.5 2836.5,-167.5 2836.5,-167.5 2836.5,-123.5 2836.5,-123.5 2836.5,-117.5 2842.5,-111.5 2848.5,-111.5 2848.5,-111.5 2929.5,-111.5 2929.5,-111.5 2935.5,-111.5 2941.5,-117.5 2941.5,-123.5 2941.5,-123.5 2941.5,-167.5 2941.5,-167.5 2941.5,-173.5 2935.5,-179.5 2929.5,-179.5\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"2889\" y=\"-164.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.0</text>\r\n",
       "<text text-anchor=\"middle\" x=\"2889\" y=\"-149.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 84</text>\r\n",
       "<text text-anchor=\"middle\" x=\"2889\" y=\"-134.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 84]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"2889\" y=\"-119.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 42&#45;&gt;43 -->\r\n",
       "<g id=\"edge43\" class=\"edge\"><title>42&#45;&gt;43</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M2937.98,-222.907C2930.76,-211.652 2922.92,-199.418 2915.67,-188.106\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"2918.6,-186.197 2910.26,-179.667 2912.71,-189.975 2918.6,-186.197\"/>\r\n",
       "</g>\r\n",
       "<!-- 44 -->\r\n",
       "<g id=\"node45\" class=\"node\"><title>44</title>\r\n",
       "<path fill=\"#45a3e7\" stroke=\"black\" d=\"M3106,-187C3106,-187 2972,-187 2972,-187 2966,-187 2960,-181 2960,-175 2960,-175 2960,-116 2960,-116 2960,-110 2966,-104 2972,-104 2972,-104 3106,-104 3106,-104 3112,-104 3118,-110 3118,-116 3118,-116 3118,-175 3118,-175 3118,-181 3112,-187 3106,-187\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"3039\" y=\"-171.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">所处的县的大小_B &lt;= 0.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3039\" y=\"-156.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.324</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3039\" y=\"-141.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 372</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3039\" y=\"-126.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [22, 350]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3039\" y=\"-111.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 42&#45;&gt;44 -->\r\n",
       "<g id=\"edge44\" class=\"edge\"><title>42&#45;&gt;44</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M2990.02,-222.907C2995.66,-214.105 3001.69,-204.703 3007.52,-195.612\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"3010.57,-197.328 3013.03,-187.021 3004.68,-193.551 3010.57,-197.328\"/>\r\n",
       "</g>\r\n",
       "<!-- 45 -->\r\n",
       "<g id=\"node46\" class=\"node\"><title>45</title>\r\n",
       "<path fill=\"#44a3e6\" stroke=\"black\" d=\"M2962,-68C2962,-68 2864,-68 2864,-68 2858,-68 2852,-62 2852,-56 2852,-56 2852,-12 2852,-12 2852,-6 2858,-0 2864,-0 2864,-0 2962,-0 2962,-0 2968,-0 2974,-6 2974,-12 2974,-12 2974,-56 2974,-56 2974,-62 2968,-68 2962,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"2913\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.303</text>\r\n",
       "<text text-anchor=\"middle\" x=\"2913\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 370</text>\r\n",
       "<text text-anchor=\"middle\" x=\"2913\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [20, 350]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"2913\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 44&#45;&gt;45 -->\r\n",
       "<g id=\"edge45\" class=\"edge\"><title>44&#45;&gt;45</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M2992.08,-103.726C2981.27,-94.3318 2969.79,-84.349 2959.01,-74.9883\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"2961.16,-72.2174 2951.32,-68.2996 2956.57,-77.501 2961.16,-72.2174\"/>\r\n",
       "</g>\r\n",
       "<!-- 46 -->\r\n",
       "<g id=\"node47\" class=\"node\"><title>46</title>\r\n",
       "<path fill=\"#e58139\" stroke=\"black\" d=\"M3095.5,-68C3095.5,-68 3004.5,-68 3004.5,-68 2998.5,-68 2992.5,-62 2992.5,-56 2992.5,-56 2992.5,-12 2992.5,-12 2992.5,-6 2998.5,-0 3004.5,-0 3004.5,-0 3095.5,-0 3095.5,-0 3101.5,-0 3107.5,-6 3107.5,-12 3107.5,-12 3107.5,-56 3107.5,-56 3107.5,-62 3101.5,-68 3095.5,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"3050\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.0</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3050\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 2</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3050\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [2, 0]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3050\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 44&#45;&gt;46 -->\r\n",
       "<g id=\"edge46\" class=\"edge\"><title>44&#45;&gt;46</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M3043.1,-103.726C3043.93,-95.4263 3044.81,-86.6671 3045.65,-78.2834\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"3049.14,-78.5994 3046.65,-68.2996 3042.17,-77.8997 3049.14,-78.5994\"/>\r\n",
       "</g>\r\n",
       "<!-- 48 -->\r\n",
       "<g id=\"node49\" class=\"node\"><title>48</title>\r\n",
       "<path fill=\"#fbfdfe\" stroke=\"black\" d=\"M3460,-306C3460,-306 3338,-306 3338,-306 3332,-306 3326,-300 3326,-294 3326,-294 3326,-235 3326,-235 3326,-229 3332,-223 3338,-223 3338,-223 3460,-223 3460,-223 3466,-223 3472,-229 3472,-235 3472,-235 3472,-294 3472,-294 3472,-300 3466,-306 3460,-306\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"3399\" y=\"-290.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">tins &lt;= 5.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3399\" y=\"-275.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 1.0</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3399\" y=\"-260.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 2619</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3399\" y=\"-245.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [1295, 1324]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3399\" y=\"-230.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 47&#45;&gt;48 -->\r\n",
       "<g id=\"edge48\" class=\"edge\"><title>47&#45;&gt;48</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M3399,-341.907C3399,-333.649 3399,-324.864 3399,-316.302\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"3402.5,-316.021 3399,-306.021 3395.5,-316.021 3402.5,-316.021\"/>\r\n",
       "</g>\r\n",
       "<!-- 55 -->\r\n",
       "<g id=\"node56\" class=\"node\"><title>55</title>\r\n",
       "<path fill=\"#eca16b\" stroke=\"black\" d=\"M3808,-306C3808,-306 3702,-306 3702,-306 3696,-306 3690,-300 3690,-294 3690,-294 3690,-235 3690,-235 3690,-229 3696,-223 3702,-223 3702,-223 3808,-223 3808,-223 3814,-223 3820,-229 3820,-235 3820,-235 3820,-294 3820,-294 3820,-300 3814,-306 3808,-306\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"3755\" y=\"-290.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">c210pmr &lt;= 55.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3755\" y=\"-275.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.725</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3755\" y=\"-260.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 501</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3755\" y=\"-245.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [400, 101]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3755\" y=\"-230.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 47&#45;&gt;55 -->\r\n",
       "<g id=\"edge55\" class=\"edge\"><title>47&#45;&gt;55</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M3494.87,-350.992C3553.03,-331.877 3626.18,-307.837 3680.08,-290.122\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"3681.51,-293.338 3689.91,-286.89 3679.32,-286.688 3681.51,-293.338\"/>\r\n",
       "</g>\r\n",
       "<!-- 49 -->\r\n",
       "<g id=\"node50\" class=\"node\"><title>49</title>\r\n",
       "<path fill=\"#f5cdb0\" stroke=\"black\" d=\"M3391.5,-187C3391.5,-187 3224.5,-187 3224.5,-187 3218.5,-187 3212.5,-181 3212.5,-175 3212.5,-175 3212.5,-116 3212.5,-116 3212.5,-110 3218.5,-104 3224.5,-104 3224.5,-104 3391.5,-104 3391.5,-104 3397.5,-104 3403.5,-110 3403.5,-116 3403.5,-116 3403.5,-175 3403.5,-175 3403.5,-181 3397.5,-187 3391.5,-187\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"3308\" y=\"-171.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">是否通过快递买过东西_P &lt;= 0.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3308\" y=\"-156.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.954</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3308\" y=\"-141.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 600</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3308\" y=\"-126.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [375, 225]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3308\" y=\"-111.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 48&#45;&gt;49 -->\r\n",
       "<g id=\"edge49\" class=\"edge\"><title>48&#45;&gt;49</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M3367.43,-222.907C3360.44,-213.923 3352.97,-204.315 3345.76,-195.05\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"3348.42,-192.766 3339.52,-187.021 3342.89,-197.063 3348.42,-192.766\"/>\r\n",
       "</g>\r\n",
       "<!-- 52 -->\r\n",
       "<g id=\"node53\" class=\"node\"><title>52</title>\r\n",
       "<path fill=\"#dfeffb\" stroke=\"black\" d=\"M3548,-187C3548,-187 3434,-187 3434,-187 3428,-187 3422,-181 3422,-175 3422,-175 3422,-116 3422,-116 3422,-110 3428,-104 3434,-104 3434,-104 3548,-104 3548,-104 3554,-104 3560,-110 3560,-116 3560,-116 3560,-175 3560,-175 3560,-181 3554,-187 3548,-187\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"3491\" y=\"-171.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">c210pmr &lt;= 14.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3491\" y=\"-156.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.994</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3491\" y=\"-141.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 2019</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3491\" y=\"-126.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [920, 1099]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3491\" y=\"-111.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 48&#45;&gt;52 -->\r\n",
       "<g id=\"edge52\" class=\"edge\"><title>48&#45;&gt;52</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M3430.92,-222.907C3437.98,-213.923 3445.54,-204.315 3452.82,-195.05\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"3455.71,-197.045 3459.14,-187.021 3450.2,-192.718 3455.71,-197.045\"/>\r\n",
       "</g>\r\n",
       "<!-- 50 -->\r\n",
       "<g id=\"node51\" class=\"node\"><title>50</title>\r\n",
       "<path fill=\"#f7d7c0\" stroke=\"black\" d=\"M3244,-68C3244,-68 3138,-68 3138,-68 3132,-68 3126,-62 3126,-56 3126,-56 3126,-12 3126,-12 3126,-6 3132,-0 3138,-0 3138,-0 3244,-0 3244,-0 3250,-0 3256,-6 3256,-12 3256,-12 3256,-56 3256,-56 3256,-62 3250,-68 3244,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"3191\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.974</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3191\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 516</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3191\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [307, 209]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3191\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 49&#45;&gt;50 -->\r\n",
       "<g id=\"edge50\" class=\"edge\"><title>49&#45;&gt;50</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M3264.43,-103.726C3254.49,-94.423 3243.94,-84.5428 3234.02,-75.2612\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"3236.27,-72.5774 3226.58,-68.2996 3231.49,-77.6882 3236.27,-72.5774\"/>\r\n",
       "</g>\r\n",
       "<!-- 51 -->\r\n",
       "<g id=\"node52\" class=\"node\"><title>51</title>\r\n",
       "<path fill=\"#eb9f68\" stroke=\"black\" d=\"M3378,-68C3378,-68 3286,-68 3286,-68 3280,-68 3274,-62 3274,-56 3274,-56 3274,-12 3274,-12 3274,-6 3280,-0 3286,-0 3286,-0 3378,-0 3378,-0 3384,-0 3390,-6 3390,-12 3390,-12 3390,-56 3390,-56 3390,-62 3384,-68 3378,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"3332\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.702</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3332\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 84</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3332\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [68, 16]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3332\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 49&#45;&gt;51 -->\r\n",
       "<g id=\"edge51\" class=\"edge\"><title>49&#45;&gt;51</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M3316.94,-103.726C3318.76,-95.4263 3320.68,-86.6671 3322.51,-78.2834\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"3325.98,-78.8171 3324.7,-68.2996 3319.14,-77.3184 3325.98,-78.8171\"/>\r\n",
       "</g>\r\n",
       "<!-- 53 -->\r\n",
       "<g id=\"node54\" class=\"node\"><title>53</title>\r\n",
       "<path fill=\"#ea975c\" stroke=\"black\" d=\"M3511.5,-68C3511.5,-68 3420.5,-68 3420.5,-68 3414.5,-68 3408.5,-62 3408.5,-56 3408.5,-56 3408.5,-12 3408.5,-12 3408.5,-6 3414.5,-0 3420.5,-0 3420.5,-0 3511.5,-0 3511.5,-0 3517.5,-0 3523.5,-6 3523.5,-12 3523.5,-12 3523.5,-56 3523.5,-56 3523.5,-62 3517.5,-68 3511.5,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"3466\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.61</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3466\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 20</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3466\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [17, 3]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3466\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 52&#45;&gt;53 -->\r\n",
       "<g id=\"edge53\" class=\"edge\"><title>52&#45;&gt;53</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M3481.69,-103.726C3479.8,-95.4263 3477.8,-86.6671 3475.88,-78.2834\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"3479.24,-77.2697 3473.6,-68.2996 3472.42,-78.8278 3479.24,-77.2697\"/>\r\n",
       "</g>\r\n",
       "<!-- 54 -->\r\n",
       "<g id=\"node55\" class=\"node\"><title>54</title>\r\n",
       "<path fill=\"#dceefa\" stroke=\"black\" d=\"M3668,-68C3668,-68 3554,-68 3554,-68 3548,-68 3542,-62 3542,-56 3542,-56 3542,-12 3542,-12 3542,-6 3548,-0 3554,-0 3554,-0 3668,-0 3668,-0 3674,-0 3680,-6 3680,-12 3680,-12 3680,-56 3680,-56 3680,-62 3674,-68 3668,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"3611\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.993</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3611\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 1999</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3611\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [903, 1096]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3611\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 52&#45;&gt;54 -->\r\n",
       "<g id=\"edge54\" class=\"edge\"><title>52&#45;&gt;54</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M3535.68,-103.726C3545.88,-94.423 3556.71,-84.5428 3566.88,-75.2612\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"3569.48,-77.6255 3574.51,-68.2996 3564.76,-72.4547 3569.48,-77.6255\"/>\r\n",
       "</g>\r\n",
       "<!-- 56 -->\r\n",
       "<g id=\"node57\" class=\"node\"><title>56</title>\r\n",
       "<path fill=\"#eca571\" stroke=\"black\" d=\"M3808,-187C3808,-187 3702,-187 3702,-187 3696,-187 3690,-181 3690,-175 3690,-175 3690,-116 3690,-116 3690,-110 3696,-104 3702,-104 3702,-104 3808,-104 3808,-104 3814,-104 3820,-110 3820,-116 3820,-116 3820,-175 3820,-175 3820,-181 3814,-187 3808,-187\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"3755\" y=\"-171.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">ilor &lt;= 4.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3755\" y=\"-156.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.761</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3755\" y=\"-141.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 458</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3755\" y=\"-126.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [357, 101]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3755\" y=\"-111.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 55&#45;&gt;56 -->\r\n",
       "<g id=\"edge56\" class=\"edge\"><title>55&#45;&gt;56</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M3755,-222.907C3755,-214.649 3755,-205.864 3755,-197.302\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"3758.5,-197.021 3755,-187.021 3751.5,-197.021 3758.5,-197.021\"/>\r\n",
       "</g>\r\n",
       "<!-- 59 -->\r\n",
       "<g id=\"node60\" class=\"node\"><title>59</title>\r\n",
       "<path fill=\"#e58139\" stroke=\"black\" d=\"M3941.5,-179.5C3941.5,-179.5 3850.5,-179.5 3850.5,-179.5 3844.5,-179.5 3838.5,-173.5 3838.5,-167.5 3838.5,-167.5 3838.5,-123.5 3838.5,-123.5 3838.5,-117.5 3844.5,-111.5 3850.5,-111.5 3850.5,-111.5 3941.5,-111.5 3941.5,-111.5 3947.5,-111.5 3953.5,-117.5 3953.5,-123.5 3953.5,-123.5 3953.5,-167.5 3953.5,-167.5 3953.5,-173.5 3947.5,-179.5 3941.5,-179.5\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"3896\" y=\"-164.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.0</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3896\" y=\"-149.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 43</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3896\" y=\"-134.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [43, 0]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3896\" y=\"-119.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 55&#45;&gt;59 -->\r\n",
       "<g id=\"edge59\" class=\"edge\"><title>55&#45;&gt;59</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M3803.92,-222.907C3818.28,-210.99 3833.97,-197.976 3848.25,-186.12\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"3850.57,-188.746 3856.03,-179.667 3846.1,-183.359 3850.57,-188.746\"/>\r\n",
       "</g>\r\n",
       "<!-- 57 -->\r\n",
       "<g id=\"node58\" class=\"node\"><title>57</title>\r\n",
       "<path fill=\"#f6fafe\" stroke=\"black\" d=\"M3799.5,-68C3799.5,-68 3710.5,-68 3710.5,-68 3704.5,-68 3698.5,-62 3698.5,-56 3698.5,-56 3698.5,-12 3698.5,-12 3698.5,-6 3704.5,-0 3710.5,-0 3710.5,-0 3799.5,-0 3799.5,-0 3805.5,-0 3811.5,-6 3811.5,-12 3811.5,-12 3811.5,-56 3811.5,-56 3811.5,-62 3805.5,-68 3799.5,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"3755\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 1.0</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3755\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 41</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3755\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [20, 21]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3755\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 56&#45;&gt;57 -->\r\n",
       "<g id=\"edge57\" class=\"edge\"><title>56&#45;&gt;57</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M3755,-103.726C3755,-95.5175 3755,-86.8595 3755,-78.56\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"3758.5,-78.2996 3755,-68.2996 3751.5,-78.2996 3758.5,-78.2996\"/>\r\n",
       "</g>\r\n",
       "<!-- 58 -->\r\n",
       "<g id=\"node59\" class=\"node\"><title>58</title>\r\n",
       "<path fill=\"#eb9f68\" stroke=\"black\" d=\"M3940,-68C3940,-68 3842,-68 3842,-68 3836,-68 3830,-62 3830,-56 3830,-56 3830,-12 3830,-12 3830,-6 3836,-0 3842,-0 3842,-0 3940,-0 3940,-0 3946,-0 3952,-6 3952,-12 3952,-12 3952,-56 3952,-56 3952,-62 3946,-68 3940,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"3891\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.705</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3891\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 417</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3891\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [337, 80]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"3891\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 56&#45;&gt;58 -->\r\n",
       "<g id=\"edge58\" class=\"edge\"><title>56&#45;&gt;58</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M3805.64,-103.726C3817.42,-94.2406 3829.95,-84.1551 3841.67,-74.7159\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"3844.05,-77.2972 3849.64,-68.2996 3839.66,-71.8448 3844.05,-77.2972\"/>\r\n",
       "</g>\r\n",
       "<!-- 61 -->\r\n",
       "<g id=\"node62\" class=\"node\"><title>61</title>\r\n",
       "<path fill=\"#edaa7a\" stroke=\"black\" d=\"M5172,-544C5172,-544 5050,-544 5050,-544 5044,-544 5038,-538 5038,-532 5038,-532 5038,-473 5038,-473 5038,-467 5044,-461 5050,-461 5050,-461 5172,-461 5172,-461 5178,-461 5184,-467 5184,-473 5184,-473 5184,-532 5184,-532 5184,-538 5178,-544 5172,-544\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"5111\" y=\"-528.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">pdpe &lt;= 57.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"5111\" y=\"-513.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.805</text>\r\n",
       "<text text-anchor=\"middle\" x=\"5111\" y=\"-498.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 7222</text>\r\n",
       "<text text-anchor=\"middle\" x=\"5111\" y=\"-483.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [5446, 1776]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"5111\" y=\"-468.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 60&#45;&gt;61 -->\r\n",
       "<g id=\"edge61\" class=\"edge\"><title>60&#45;&gt;61</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M5111,-579.907C5111,-571.649 5111,-562.864 5111,-554.302\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"5114.5,-554.021 5111,-544.021 5107.5,-554.021 5114.5,-554.021\"/>\r\n",
       "</g>\r\n",
       "<!-- 92 -->\r\n",
       "<g id=\"node93\" class=\"node\"><title>92</title>\r\n",
       "<path fill=\"#e88f50\" stroke=\"black\" d=\"M6806,-544C6806,-544 6708,-544 6708,-544 6702,-544 6696,-538 6696,-532 6696,-532 6696,-473 6696,-473 6696,-467 6702,-461 6708,-461 6708,-461 6806,-461 6806,-461 6812,-461 6818,-467 6818,-473 6818,-473 6818,-532 6818,-532 6818,-538 6812,-544 6806,-544\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"6757\" y=\"-528.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">ilor &lt;= 13.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6757\" y=\"-513.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.477</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6757\" y=\"-498.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 955</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6757\" y=\"-483.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [857, 98]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6757\" y=\"-468.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 60&#45;&gt;92 -->\r\n",
       "<g id=\"edge92\" class=\"edge\"><title>60&#45;&gt;92</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M5206.61,-613.704C5506.22,-592.407 6422.49,-527.277 6685.64,-508.572\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"6686.11,-512.048 6695.84,-507.848 6685.61,-505.066 6686.11,-512.048\"/>\r\n",
       "</g>\r\n",
       "<!-- 62 -->\r\n",
       "<g id=\"node63\" class=\"node\"><title>62</title>\r\n",
       "<path fill=\"#eda774\" stroke=\"black\" d=\"M4880,-425C4880,-425 4758,-425 4758,-425 4752,-425 4746,-419 4746,-413 4746,-413 4746,-354 4746,-354 4746,-348 4752,-342 4758,-342 4758,-342 4880,-342 4880,-342 4886,-342 4892,-348 4892,-354 4892,-354 4892,-413 4892,-413 4892,-419 4886,-425 4880,-425\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"4819\" y=\"-409.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">ilor &lt;= 8.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"4819\" y=\"-394.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.778</text>\r\n",
       "<text text-anchor=\"middle\" x=\"4819\" y=\"-379.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 6552</text>\r\n",
       "<text text-anchor=\"middle\" x=\"4819\" y=\"-364.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [5046, 1506]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"4819\" y=\"-349.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 61&#45;&gt;62 -->\r\n",
       "<g id=\"edge62\" class=\"edge\"><title>61&#45;&gt;62</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M5037.69,-472.127C4996.22,-455.51 4944.24,-434.683 4901.37,-417.503\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"4902.67,-414.254 4892.08,-413.784 4900.06,-420.752 4902.67,-414.254\"/>\r\n",
       "</g>\r\n",
       "<!-- 77 -->\r\n",
       "<g id=\"node78\" class=\"node\"><title>77</title>\r\n",
       "<path fill=\"#f7d6bf\" stroke=\"black\" d=\"M5462,-425C5462,-425 5352,-425 5352,-425 5346,-425 5340,-419 5340,-413 5340,-413 5340,-354 5340,-354 5340,-348 5346,-342 5352,-342 5352,-342 5462,-342 5462,-342 5468,-342 5474,-348 5474,-354 5474,-354 5474,-413 5474,-413 5474,-419 5468,-425 5462,-425\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"5407\" y=\"-409.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">c210b200 &lt;= 18.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"5407\" y=\"-394.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.973</text>\r\n",
       "<text text-anchor=\"middle\" x=\"5407\" y=\"-379.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 670</text>\r\n",
       "<text text-anchor=\"middle\" x=\"5407\" y=\"-364.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [400, 270]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"5407\" y=\"-349.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 61&#45;&gt;77 -->\r\n",
       "<g id=\"edge77\" class=\"edge\"><title>61&#45;&gt;77</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M5184.17,-472.579C5228.6,-455.016 5285.25,-432.626 5330.3,-414.816\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"5331.72,-418.019 5339.73,-411.088 5329.15,-411.509 5331.72,-418.019\"/>\r\n",
       "</g>\r\n",
       "<!-- 63 -->\r\n",
       "<g id=\"node64\" class=\"node\"><title>63</title>\r\n",
       "<path fill=\"#f0b68d\" stroke=\"black\" d=\"M4481.5,-306C4481.5,-306 4314.5,-306 4314.5,-306 4308.5,-306 4302.5,-300 4302.5,-294 4302.5,-294 4302.5,-235 4302.5,-235 4302.5,-229 4308.5,-223 4314.5,-223 4314.5,-223 4481.5,-223 4481.5,-223 4487.5,-223 4493.5,-229 4493.5,-235 4493.5,-235 4493.5,-294 4493.5,-294 4493.5,-300 4487.5,-306 4481.5,-306\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"4398\" y=\"-290.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">是否通过快递买过东西_P &lt;= 0.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"4398\" y=\"-275.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.878</text>\r\n",
       "<text text-anchor=\"middle\" x=\"4398\" y=\"-260.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 1802</text>\r\n",
       "<text text-anchor=\"middle\" x=\"4398\" y=\"-245.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [1266, 536]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"4398\" y=\"-230.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 62&#45;&gt;63 -->\r\n",
       "<g id=\"edge63\" class=\"edge\"><title>62&#45;&gt;63</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M4745.67,-362.12C4678.82,-343.542 4579.28,-315.879 4503.82,-294.907\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"4504.37,-291.43 4493.8,-292.125 4502.5,-298.174 4504.37,-291.43\"/>\r\n",
       "</g>\r\n",
       "<!-- 70 -->\r\n",
       "<g id=\"node71\" class=\"node\"><title>70</title>\r\n",
       "<path fill=\"#eca16c\" stroke=\"black\" d=\"M4876,-306C4876,-306 4762,-306 4762,-306 4756,-306 4750,-300 4750,-294 4750,-294 4750,-235 4750,-235 4750,-229 4756,-223 4762,-223 4762,-223 4876,-223 4876,-223 4882,-223 4888,-229 4888,-235 4888,-235 4888,-294 4888,-294 4888,-300 4882,-306 4876,-306\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"4819\" y=\"-290.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">tins &lt;= 6.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"4819\" y=\"-275.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.73</text>\r\n",
       "<text text-anchor=\"middle\" x=\"4819\" y=\"-260.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 4750</text>\r\n",
       "<text text-anchor=\"middle\" x=\"4819\" y=\"-245.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [3780, 970]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"4819\" y=\"-230.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 62&#45;&gt;70 -->\r\n",
       "<g id=\"edge70\" class=\"edge\"><title>62&#45;&gt;70</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M4819,-341.907C4819,-333.649 4819,-324.864 4819,-316.302\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"4822.5,-316.021 4819,-306.021 4815.5,-316.021 4822.5,-316.021\"/>\r\n",
       "</g>\r\n",
       "<!-- 64 -->\r\n",
       "<g id=\"node65\" class=\"node\"><title>64</title>\r\n",
       "<path fill=\"#f1ba92\" stroke=\"black\" d=\"M4236,-187C4236,-187 4122,-187 4122,-187 4116,-187 4110,-181 4110,-175 4110,-175 4110,-116 4110,-116 4110,-110 4116,-104 4122,-104 4122,-104 4236,-104 4236,-104 4242,-104 4248,-110 4248,-116 4248,-116 4248,-175 4248,-175 4248,-181 4242,-187 4236,-187\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"4179\" y=\"-171.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">age &lt;= 65.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"4179\" y=\"-156.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.894</text>\r\n",
       "<text text-anchor=\"middle\" x=\"4179\" y=\"-141.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 1641</text>\r\n",
       "<text text-anchor=\"middle\" x=\"4179\" y=\"-126.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [1131, 510]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"4179\" y=\"-111.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 63&#45;&gt;64 -->\r\n",
       "<g id=\"edge64\" class=\"edge\"><title>63&#45;&gt;64</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M4322.02,-222.907C4301.05,-211.704 4278.26,-199.53 4257.17,-188.262\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"4258.71,-185.118 4248.24,-183.493 4255.41,-191.292 4258.71,-185.118\"/>\r\n",
       "</g>\r\n",
       "<!-- 67 -->\r\n",
       "<g id=\"node68\" class=\"node\"><title>67</title>\r\n",
       "<path fill=\"#ea995f\" stroke=\"black\" d=\"M4453,-187C4453,-187 4343,-187 4343,-187 4337,-187 4331,-181 4331,-175 4331,-175 4331,-116 4331,-116 4331,-110 4337,-104 4343,-104 4343,-104 4453,-104 4453,-104 4459,-104 4465,-110 4465,-116 4465,-116 4465,-175 4465,-175 4465,-181 4459,-187 4453,-187\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"4398\" y=\"-171.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">c210b200 &lt;= 39.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"4398\" y=\"-156.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.638</text>\r\n",
       "<text text-anchor=\"middle\" x=\"4398\" y=\"-141.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 161</text>\r\n",
       "<text text-anchor=\"middle\" x=\"4398\" y=\"-126.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [135, 26]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"4398\" y=\"-111.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 63&#45;&gt;67 -->\r\n",
       "<g id=\"edge67\" class=\"edge\"><title>63&#45;&gt;67</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M4398,-222.907C4398,-214.649 4398,-205.864 4398,-197.302\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"4401.5,-197.021 4398,-187.021 4394.5,-197.021 4401.5,-197.021\"/>\r\n",
       "</g>\r\n",
       "<!-- 65 -->\r\n",
       "<g id=\"node66\" class=\"node\"><title>65</title>\r\n",
       "<path fill=\"#f9e0cf\" stroke=\"black\" d=\"M4080,-68C4080,-68 3982,-68 3982,-68 3976,-68 3970,-62 3970,-56 3970,-56 3970,-12 3970,-12 3970,-6 3976,-0 3982,-0 3982,-0 4080,-0 4080,-0 4086,-0 4092,-6 4092,-12 4092,-12 4092,-56 4092,-56 4092,-62 4086,-68 4080,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"4031\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.986</text>\r\n",
       "<text text-anchor=\"middle\" x=\"4031\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 188</text>\r\n",
       "<text text-anchor=\"middle\" x=\"4031\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [107, 81]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"4031\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 64&#45;&gt;65 -->\r\n",
       "<g id=\"edge65\" class=\"edge\"><title>64&#45;&gt;65</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M4123.89,-103.726C4110.95,-94.1494 4097.18,-83.9611 4084.31,-74.4438\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"4086.13,-71.4337 4076.01,-68.2996 4081.96,-77.061 4086.13,-71.4337\"/>\r\n",
       "</g>\r\n",
       "<!-- 66 -->\r\n",
       "<g id=\"node67\" class=\"node\"><title>66</title>\r\n",
       "<path fill=\"#f0b68c\" stroke=\"black\" d=\"M4236,-68C4236,-68 4122,-68 4122,-68 4116,-68 4110,-62 4110,-56 4110,-56 4110,-12 4110,-12 4110,-6 4116,-0 4122,-0 4122,-0 4236,-0 4236,-0 4242,-0 4248,-6 4248,-12 4248,-12 4248,-56 4248,-56 4248,-62 4242,-68 4236,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"4179\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.875</text>\r\n",
       "<text text-anchor=\"middle\" x=\"4179\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 1453</text>\r\n",
       "<text text-anchor=\"middle\" x=\"4179\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [1024, 429]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"4179\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 64&#45;&gt;66 -->\r\n",
       "<g id=\"edge66\" class=\"edge\"><title>64&#45;&gt;66</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M4179,-103.726C4179,-95.5175 4179,-86.8595 4179,-78.56\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"4182.5,-78.2996 4179,-68.2996 4175.5,-78.2996 4182.5,-78.2996\"/>\r\n",
       "</g>\r\n",
       "<!-- 68 -->\r\n",
       "<g id=\"node69\" class=\"node\"><title>68</title>\r\n",
       "<path fill=\"#e99356\" stroke=\"black\" d=\"M4376,-68C4376,-68 4278,-68 4278,-68 4272,-68 4266,-62 4266,-56 4266,-56 4266,-12 4266,-12 4266,-6 4272,-0 4278,-0 4278,-0 4376,-0 4376,-0 4382,-0 4388,-6 4388,-12 4388,-12 4388,-56 4388,-56 4388,-62 4382,-68 4376,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"4327\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.546</text>\r\n",
       "<text text-anchor=\"middle\" x=\"4327\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 143</text>\r\n",
       "<text text-anchor=\"middle\" x=\"4327\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [125, 18]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"4327\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 67&#45;&gt;68 -->\r\n",
       "<g id=\"edge68\" class=\"edge\"><title>67&#45;&gt;68</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M4371.56,-103.726C4365.88,-94.9703 4359.88,-85.7032 4354.17,-76.9051\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"4356.97,-74.786 4348.59,-68.2996 4351.1,-78.5943 4356.97,-74.786\"/>\r\n",
       "</g>\r\n",
       "<!-- 69 -->\r\n",
       "<g id=\"node70\" class=\"node\"><title>69</title>\r\n",
       "<path fill=\"#fae6d7\" stroke=\"black\" d=\"M4510,-68C4510,-68 4418,-68 4418,-68 4412,-68 4406,-62 4406,-56 4406,-56 4406,-12 4406,-12 4406,-6 4412,-0 4418,-0 4418,-0 4510,-0 4510,-0 4516,-0 4522,-6 4522,-12 4522,-12 4522,-56 4522,-56 4522,-62 4516,-68 4510,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"4464\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.991</text>\r\n",
       "<text text-anchor=\"middle\" x=\"4464\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 18</text>\r\n",
       "<text text-anchor=\"middle\" x=\"4464\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [10, 8]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"4464\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 67&#45;&gt;69 -->\r\n",
       "<g id=\"edge69\" class=\"edge\"><title>67&#45;&gt;69</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M4422.58,-103.726C4427.85,-94.9703 4433.44,-85.7032 4438.74,-76.9051\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"4441.76,-78.671 4443.93,-68.2996 4435.77,-75.0574 4441.76,-78.671\"/>\r\n",
       "</g>\r\n",
       "<!-- 71 -->\r\n",
       "<g id=\"node72\" class=\"node\"><title>71</title>\r\n",
       "<path fill=\"#e9975b\" stroke=\"black\" d=\"M4798,-187C4798,-187 4684,-187 4684,-187 4678,-187 4672,-181 4672,-175 4672,-175 4672,-116 4672,-116 4672,-110 4678,-104 4684,-104 4684,-104 4798,-104 4798,-104 4804,-104 4810,-110 4810,-116 4810,-116 4810,-175 4810,-175 4810,-181 4804,-187 4798,-187\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"4741\" y=\"-171.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">c210mah &lt;= 40.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"4741\" y=\"-156.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.603</text>\r\n",
       "<text text-anchor=\"middle\" x=\"4741\" y=\"-141.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 1602</text>\r\n",
       "<text text-anchor=\"middle\" x=\"4741\" y=\"-126.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [1366, 236]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"4741\" y=\"-111.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 70&#45;&gt;71 -->\r\n",
       "<g id=\"edge71\" class=\"edge\"><title>70&#45;&gt;71</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M4791.94,-222.907C4786.07,-214.105 4779.8,-204.703 4773.74,-195.612\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"4776.47,-193.4 4768.01,-187.021 4770.65,-197.283 4776.47,-193.4\"/>\r\n",
       "</g>\r\n",
       "<!-- 74 -->\r\n",
       "<g id=\"node75\" class=\"node\"><title>74</title>\r\n",
       "<path fill=\"#eda775\" stroke=\"black\" d=\"M4954,-187C4954,-187 4840,-187 4840,-187 4834,-187 4828,-181 4828,-175 4828,-175 4828,-116 4828,-116 4828,-110 4834,-104 4840,-104 4840,-104 4954,-104 4954,-104 4960,-104 4966,-110 4966,-116 4966,-116 4966,-175 4966,-175 4966,-181 4960,-187 4954,-187\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"4897\" y=\"-171.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">age &lt;= 65.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"4897\" y=\"-156.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.783</text>\r\n",
       "<text text-anchor=\"middle\" x=\"4897\" y=\"-141.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 3148</text>\r\n",
       "<text text-anchor=\"middle\" x=\"4897\" y=\"-126.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [2414, 734]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"4897\" y=\"-111.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 70&#45;&gt;74 -->\r\n",
       "<g id=\"edge74\" class=\"edge\"><title>70&#45;&gt;74</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M4846.06,-222.907C4851.93,-214.105 4858.2,-204.703 4864.26,-195.612\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"4867.35,-197.283 4869.99,-187.021 4861.53,-193.4 4867.35,-197.283\"/>\r\n",
       "</g>\r\n",
       "<!-- 72 -->\r\n",
       "<g id=\"node73\" class=\"node\"><title>72</title>\r\n",
       "<path fill=\"#e58139\" stroke=\"black\" d=\"M4643.5,-68C4643.5,-68 4552.5,-68 4552.5,-68 4546.5,-68 4540.5,-62 4540.5,-56 4540.5,-56 4540.5,-12 4540.5,-12 4540.5,-6 4546.5,-0 4552.5,-0 4552.5,-0 4643.5,-0 4643.5,-0 4649.5,-0 4655.5,-6 4655.5,-12 4655.5,-12 4655.5,-56 4655.5,-56 4655.5,-62 4649.5,-68 4643.5,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"4598\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.0</text>\r\n",
       "<text text-anchor=\"middle\" x=\"4598\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 27</text>\r\n",
       "<text text-anchor=\"middle\" x=\"4598\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [27, 0]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"4598\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 71&#45;&gt;72 -->\r\n",
       "<g id=\"edge72\" class=\"edge\"><title>71&#45;&gt;72</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M4687.75,-103.726C4675.25,-94.1494 4661.94,-83.9611 4649.51,-74.4438\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"4651.55,-71.6004 4641.49,-68.2996 4647.3,-77.1582 4651.55,-71.6004\"/>\r\n",
       "</g>\r\n",
       "<!-- 73 -->\r\n",
       "<g id=\"node74\" class=\"node\"><title>73</title>\r\n",
       "<path fill=\"#ea975c\" stroke=\"black\" d=\"M4800,-68C4800,-68 4686,-68 4686,-68 4680,-68 4674,-62 4674,-56 4674,-56 4674,-12 4674,-12 4674,-6 4680,-0 4686,-0 4686,-0 4800,-0 4800,-0 4806,-0 4812,-6 4812,-12 4812,-12 4812,-56 4812,-56 4812,-62 4806,-68 4800,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"4743\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.609</text>\r\n",
       "<text text-anchor=\"middle\" x=\"4743\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 1575</text>\r\n",
       "<text text-anchor=\"middle\" x=\"4743\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [1339, 236]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"4743\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 71&#45;&gt;73 -->\r\n",
       "<g id=\"edge73\" class=\"edge\"><title>71&#45;&gt;73</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M4741.74,-103.726C4741.89,-95.5175 4742.05,-86.8595 4742.2,-78.56\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"4745.71,-78.3619 4742.39,-68.2996 4738.71,-78.234 4745.71,-78.3619\"/>\r\n",
       "</g>\r\n",
       "<!-- 75 -->\r\n",
       "<g id=\"node76\" class=\"node\"><title>75</title>\r\n",
       "<path fill=\"#f1bb94\" stroke=\"black\" d=\"M4948,-68C4948,-68 4842,-68 4842,-68 4836,-68 4830,-62 4830,-56 4830,-56 4830,-12 4830,-12 4830,-6 4836,-0 4842,-0 4842,-0 4948,-0 4948,-0 4954,-0 4960,-6 4960,-12 4960,-12 4960,-56 4960,-56 4960,-62 4954,-68 4948,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"4895\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.9</text>\r\n",
       "<text text-anchor=\"middle\" x=\"4895\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 421</text>\r\n",
       "<text text-anchor=\"middle\" x=\"4895\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [288, 133]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"4895\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 74&#45;&gt;75 -->\r\n",
       "<g id=\"edge75\" class=\"edge\"><title>74&#45;&gt;75</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M4896.26,-103.726C4896.11,-95.5175 4895.95,-86.8595 4895.8,-78.56\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"4899.29,-78.234 4895.61,-68.2996 4892.29,-78.3619 4899.29,-78.234\"/>\r\n",
       "</g>\r\n",
       "<!-- 76 -->\r\n",
       "<g id=\"node77\" class=\"node\"><title>76</title>\r\n",
       "<path fill=\"#eca571\" stroke=\"black\" d=\"M5104,-68C5104,-68 4990,-68 4990,-68 4984,-68 4978,-62 4978,-56 4978,-56 4978,-12 4978,-12 4978,-6 4984,-0 4990,-0 4990,-0 5104,-0 5104,-0 5110,-0 5116,-6 5116,-12 5116,-12 5116,-56 5116,-56 5116,-62 5110,-68 5104,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"5047\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.761</text>\r\n",
       "<text text-anchor=\"middle\" x=\"5047\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 2727</text>\r\n",
       "<text text-anchor=\"middle\" x=\"5047\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [2126, 601]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"5047\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 74&#45;&gt;76 -->\r\n",
       "<g id=\"edge76\" class=\"edge\"><title>74&#45;&gt;76</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M4952.85,-103.726C4965.97,-94.1494 4979.93,-83.9611 4992.97,-74.4438\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"4995.37,-77.0227 5001.38,-68.2996 4991.24,-71.3688 4995.37,-77.0227\"/>\r\n",
       "</g>\r\n",
       "<!-- 78 -->\r\n",
       "<g id=\"node79\" class=\"node\"><title>78</title>\r\n",
       "<path fill=\"#f3c3a0\" stroke=\"black\" d=\"M5460,-306C5460,-306 5354,-306 5354,-306 5348,-306 5342,-300 5342,-294 5342,-294 5342,-235 5342,-235 5342,-229 5348,-223 5354,-223 5354,-223 5460,-223 5460,-223 5466,-223 5472,-229 5472,-235 5472,-235 5472,-294 5472,-294 5472,-300 5466,-306 5460,-306\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"5407\" y=\"-290.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">age &lt;= 76.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"5407\" y=\"-275.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.927</text>\r\n",
       "<text text-anchor=\"middle\" x=\"5407\" y=\"-260.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 435</text>\r\n",
       "<text text-anchor=\"middle\" x=\"5407\" y=\"-245.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [286, 149]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"5407\" y=\"-230.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 77&#45;&gt;78 -->\r\n",
       "<g id=\"edge78\" class=\"edge\"><title>77&#45;&gt;78</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M5407,-341.907C5407,-333.649 5407,-324.864 5407,-316.302\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"5410.5,-316.021 5407,-306.021 5403.5,-316.021 5410.5,-316.021\"/>\r\n",
       "</g>\r\n",
       "<!-- 85 -->\r\n",
       "<g id=\"node86\" class=\"node\"><title>85</title>\r\n",
       "<path fill=\"#f4f9fd\" stroke=\"black\" d=\"M5861,-306C5861,-306 5755,-306 5755,-306 5749,-306 5743,-300 5743,-294 5743,-294 5743,-235 5743,-235 5743,-229 5749,-223 5755,-223 5755,-223 5861,-223 5861,-223 5867,-223 5873,-229 5873,-235 5873,-235 5873,-294 5873,-294 5873,-300 5867,-306 5861,-306\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"5808\" y=\"-290.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">tins &lt;= 7.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"5808\" y=\"-275.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.999</text>\r\n",
       "<text text-anchor=\"middle\" x=\"5808\" y=\"-260.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 235</text>\r\n",
       "<text text-anchor=\"middle\" x=\"5808\" y=\"-245.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [114, 121]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"5808\" y=\"-230.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 77&#45;&gt;85 -->\r\n",
       "<g id=\"edge85\" class=\"edge\"><title>77&#45;&gt;85</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M5474.12,-362.917C5545.71,-342.029 5658.81,-309.028 5733.21,-287.321\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"5734.37,-290.628 5742.99,-284.468 5732.41,-283.909 5734.37,-290.628\"/>\r\n",
       "</g>\r\n",
       "<!-- 79 -->\r\n",
       "<g id=\"node80\" class=\"node\"><title>79</title>\r\n",
       "<path fill=\"#f5d0b5\" stroke=\"black\" d=\"M5388,-187C5388,-187 5282,-187 5282,-187 5276,-187 5270,-181 5270,-175 5270,-175 5270,-116 5270,-116 5270,-110 5276,-104 5282,-104 5282,-104 5388,-104 5388,-104 5394,-104 5400,-110 5400,-116 5400,-116 5400,-175 5400,-175 5400,-181 5394,-187 5388,-187\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"5335\" y=\"-171.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">pdpe &lt;= 64.0</text>\r\n",
       "<text text-anchor=\"middle\" x=\"5335\" y=\"-156.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.961</text>\r\n",
       "<text text-anchor=\"middle\" x=\"5335\" y=\"-141.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 354</text>\r\n",
       "<text text-anchor=\"middle\" x=\"5335\" y=\"-126.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [218, 136]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"5335\" y=\"-111.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 78&#45;&gt;79 -->\r\n",
       "<g id=\"edge79\" class=\"edge\"><title>78&#45;&gt;79</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M5382.02,-222.907C5376.6,-214.105 5370.82,-204.703 5365.22,-195.612\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"5368.16,-193.703 5359.94,-187.021 5362.2,-197.372 5368.16,-193.703\"/>\r\n",
       "</g>\r\n",
       "<!-- 82 -->\r\n",
       "<g id=\"node83\" class=\"node\"><title>82</title>\r\n",
       "<path fill=\"#ea995f\" stroke=\"black\" d=\"M5528,-187C5528,-187 5430,-187 5430,-187 5424,-187 5418,-181 5418,-175 5418,-175 5418,-116 5418,-116 5418,-110 5424,-104 5430,-104 5430,-104 5528,-104 5528,-104 5534,-104 5540,-110 5540,-116 5540,-116 5540,-175 5540,-175 5540,-181 5534,-187 5528,-187\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"5479\" y=\"-171.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">c210wht &lt;= 44.0</text>\r\n",
       "<text text-anchor=\"middle\" x=\"5479\" y=\"-156.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.635</text>\r\n",
       "<text text-anchor=\"middle\" x=\"5479\" y=\"-141.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 81</text>\r\n",
       "<text text-anchor=\"middle\" x=\"5479\" y=\"-126.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [68, 13]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"5479\" y=\"-111.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 78&#45;&gt;82 -->\r\n",
       "<g id=\"edge82\" class=\"edge\"><title>78&#45;&gt;82</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M5431.98,-222.907C5437.4,-214.105 5443.18,-204.703 5448.78,-195.612\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"5451.8,-197.372 5454.06,-187.021 5445.84,-193.703 5451.8,-197.372\"/>\r\n",
       "</g>\r\n",
       "<!-- 80 -->\r\n",
       "<g id=\"node81\" class=\"node\"><title>80</title>\r\n",
       "<path fill=\"#f9e2d2\" stroke=\"black\" d=\"M5252,-68C5252,-68 5146,-68 5146,-68 5140,-68 5134,-62 5134,-56 5134,-56 5134,-12 5134,-12 5134,-6 5140,-0 5146,-0 5146,-0 5252,-0 5252,-0 5258,-0 5264,-6 5264,-12 5264,-12 5264,-56 5264,-56 5264,-62 5258,-68 5252,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"5199\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.988</text>\r\n",
       "<text text-anchor=\"middle\" x=\"5199\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 250</text>\r\n",
       "<text text-anchor=\"middle\" x=\"5199\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [141, 109]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"5199\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 79&#45;&gt;80 -->\r\n",
       "<g id=\"edge80\" class=\"edge\"><title>79&#45;&gt;80</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M5284.36,-103.726C5272.58,-94.2406 5260.05,-84.1551 5248.33,-74.7159\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"5250.34,-71.8448 5240.36,-68.2996 5245.95,-77.2972 5250.34,-71.8448\"/>\r\n",
       "</g>\r\n",
       "<!-- 81 -->\r\n",
       "<g id=\"node82\" class=\"node\"><title>81</title>\r\n",
       "<path fill=\"#eead7e\" stroke=\"black\" d=\"M5386,-68C5386,-68 5294,-68 5294,-68 5288,-68 5282,-62 5282,-56 5282,-56 5282,-12 5282,-12 5282,-6 5288,-0 5294,-0 5294,-0 5386,-0 5386,-0 5392,-0 5398,-6 5398,-12 5398,-12 5398,-56 5398,-56 5398,-62 5392,-68 5386,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"5340\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.826</text>\r\n",
       "<text text-anchor=\"middle\" x=\"5340\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 104</text>\r\n",
       "<text text-anchor=\"middle\" x=\"5340\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [77, 27]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"5340\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 79&#45;&gt;81 -->\r\n",
       "<g id=\"edge81\" class=\"edge\"><title>79&#45;&gt;81</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M5336.86,-103.726C5337.24,-95.5175 5337.63,-86.8595 5338.01,-78.56\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"5341.52,-78.4489 5338.48,-68.2996 5334.53,-78.1295 5341.52,-78.4489\"/>\r\n",
       "</g>\r\n",
       "<!-- 83 -->\r\n",
       "<g id=\"node84\" class=\"node\"><title>83</title>\r\n",
       "<path fill=\"#f1bd97\" stroke=\"black\" d=\"M5520,-68C5520,-68 5428,-68 5428,-68 5422,-68 5416,-62 5416,-56 5416,-56 5416,-12 5416,-12 5416,-6 5422,-0 5428,-0 5428,-0 5520,-0 5520,-0 5526,-0 5532,-6 5532,-12 5532,-12 5532,-56 5532,-56 5532,-62 5526,-68 5520,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"5474\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.906</text>\r\n",
       "<text text-anchor=\"middle\" x=\"5474\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 28</text>\r\n",
       "<text text-anchor=\"middle\" x=\"5474\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [19, 9]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"5474\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 82&#45;&gt;83 -->\r\n",
       "<g id=\"edge83\" class=\"edge\"><title>82&#45;&gt;83</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M5477.14,-103.726C5476.76,-95.5175 5476.37,-86.8595 5475.99,-78.56\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"5479.47,-78.1295 5475.52,-68.2996 5472.48,-78.4489 5479.47,-78.1295\"/>\r\n",
       "</g>\r\n",
       "<!-- 84 -->\r\n",
       "<g id=\"node85\" class=\"node\"><title>84</title>\r\n",
       "<path fill=\"#e78b49\" stroke=\"black\" d=\"M5654,-68C5654,-68 5562,-68 5562,-68 5556,-68 5550,-62 5550,-56 5550,-56 5550,-12 5550,-12 5550,-6 5556,-0 5562,-0 5562,-0 5654,-0 5654,-0 5660,-0 5666,-6 5666,-12 5666,-12 5666,-56 5666,-56 5666,-62 5660,-68 5654,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"5608\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.386</text>\r\n",
       "<text text-anchor=\"middle\" x=\"5608\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 53</text>\r\n",
       "<text text-anchor=\"middle\" x=\"5608\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [49, 4]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"5608\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 82&#45;&gt;84 -->\r\n",
       "<g id=\"edge84\" class=\"edge\"><title>82&#45;&gt;84</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M5527.03,-103.726C5538.1,-94.3318 5549.86,-84.349 5560.89,-74.9883\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"5563.41,-77.4393 5568.77,-68.2996 5558.88,-72.1026 5563.41,-77.4393\"/>\r\n",
       "</g>\r\n",
       "<!-- 86 -->\r\n",
       "<g id=\"node87\" class=\"node\"><title>86</title>\r\n",
       "<path fill=\"#f8deca\" stroke=\"black\" d=\"M5854,-187C5854,-187 5762,-187 5762,-187 5756,-187 5750,-181 5750,-175 5750,-175 5750,-116 5750,-116 5750,-110 5756,-104 5762,-104 5762,-104 5854,-104 5854,-104 5860,-104 5866,-110 5866,-116 5866,-116 5866,-175 5866,-175 5866,-181 5860,-187 5854,-187\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"5808\" y=\"-171.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">ilor &lt;= 11.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"5808\" y=\"-156.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.983</text>\r\n",
       "<text text-anchor=\"middle\" x=\"5808\" y=\"-141.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 137</text>\r\n",
       "<text text-anchor=\"middle\" x=\"5808\" y=\"-126.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [79, 58]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"5808\" y=\"-111.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 85&#45;&gt;86 -->\r\n",
       "<g id=\"edge86\" class=\"edge\"><title>85&#45;&gt;86</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M5808,-222.907C5808,-214.649 5808,-205.864 5808,-197.302\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"5811.5,-197.021 5808,-187.021 5804.5,-197.021 5811.5,-197.021\"/>\r\n",
       "</g>\r\n",
       "<!-- 89 -->\r\n",
       "<g id=\"node90\" class=\"node\"><title>89</title>\r\n",
       "<path fill=\"#a7d3f3\" stroke=\"black\" d=\"M6058.5,-187C6058.5,-187 5961.5,-187 5961.5,-187 5955.5,-187 5949.5,-181 5949.5,-175 5949.5,-175 5949.5,-116 5949.5,-116 5949.5,-110 5955.5,-104 5961.5,-104 5961.5,-104 6058.5,-104 6058.5,-104 6064.5,-104 6070.5,-110 6070.5,-116 6070.5,-116 6070.5,-175 6070.5,-175 6070.5,-181 6064.5,-187 6058.5,-187\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"6010\" y=\"-171.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">c210ebi &lt;= 84.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6010\" y=\"-156.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.94</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6010\" y=\"-141.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 98</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6010\" y=\"-126.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [35, 63]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6010\" y=\"-111.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 85&#45;&gt;89 -->\r\n",
       "<g id=\"edge89\" class=\"edge\"><title>85&#45;&gt;89</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M5873.03,-225.836C5894.52,-213.389 5918.51,-199.494 5940.33,-186.854\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"5942.31,-189.749 5949.21,-181.708 5938.81,-183.691 5942.31,-189.749\"/>\r\n",
       "</g>\r\n",
       "<!-- 87 -->\r\n",
       "<g id=\"node88\" class=\"node\"><title>87</title>\r\n",
       "<path fill=\"#d0e8f9\" stroke=\"black\" d=\"M5788,-68C5788,-68 5696,-68 5696,-68 5690,-68 5684,-62 5684,-56 5684,-56 5684,-12 5684,-12 5684,-6 5690,-0 5696,-0 5696,-0 5788,-0 5788,-0 5794,-0 5800,-6 5800,-12 5800,-12 5800,-56 5800,-56 5800,-62 5794,-68 5788,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"5742\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.987</text>\r\n",
       "<text text-anchor=\"middle\" x=\"5742\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 74</text>\r\n",
       "<text text-anchor=\"middle\" x=\"5742\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [32, 42]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"5742\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 86&#45;&gt;87 -->\r\n",
       "<g id=\"edge87\" class=\"edge\"><title>86&#45;&gt;87</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M5783.42,-103.726C5778.15,-94.9703 5772.56,-85.7032 5767.26,-76.9051\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"5770.23,-75.0574 5762.07,-68.2996 5764.24,-78.671 5770.23,-75.0574\"/>\r\n",
       "</g>\r\n",
       "<!-- 88 -->\r\n",
       "<g id=\"node89\" class=\"node\"><title>88</title>\r\n",
       "<path fill=\"#eeac7c\" stroke=\"black\" d=\"M5922,-68C5922,-68 5830,-68 5830,-68 5824,-68 5818,-62 5818,-56 5818,-56 5818,-12 5818,-12 5818,-6 5824,-0 5830,-0 5830,-0 5922,-0 5922,-0 5928,-0 5934,-6 5934,-12 5934,-12 5934,-56 5934,-56 5934,-62 5928,-68 5922,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"5876\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.818</text>\r\n",
       "<text text-anchor=\"middle\" x=\"5876\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 63</text>\r\n",
       "<text text-anchor=\"middle\" x=\"5876\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [47, 16]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"5876\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 86&#45;&gt;88 -->\r\n",
       "<g id=\"edge88\" class=\"edge\"><title>86&#45;&gt;88</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M5833.32,-103.726C5838.76,-94.9703 5844.51,-85.7032 5849.98,-76.9051\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"5853.02,-78.6413 5855.32,-68.2996 5847.07,-74.9484 5853.02,-78.6413\"/>\r\n",
       "</g>\r\n",
       "<!-- 90 -->\r\n",
       "<g id=\"node91\" class=\"node\"><title>90</title>\r\n",
       "<path fill=\"#b9ddf6\" stroke=\"black\" d=\"M6056,-68C6056,-68 5964,-68 5964,-68 5958,-68 5952,-62 5952,-56 5952,-56 5952,-12 5952,-12 5952,-6 5958,-0 5964,-0 5964,-0 6056,-0 6056,-0 6062,-0 6068,-6 6068,-12 6068,-12 6068,-56 6068,-56 6068,-62 6062,-68 6056,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"6010\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.967</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6010\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 89</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6010\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [35, 54]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6010\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 89&#45;&gt;90 -->\r\n",
       "<g id=\"edge90\" class=\"edge\"><title>89&#45;&gt;90</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M6010,-103.726C6010,-95.5175 6010,-86.8595 6010,-78.56\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"6013.5,-78.2996 6010,-68.2996 6006.5,-78.2996 6013.5,-78.2996\"/>\r\n",
       "</g>\r\n",
       "<!-- 91 -->\r\n",
       "<g id=\"node92\" class=\"node\"><title>91</title>\r\n",
       "<path fill=\"#399de5\" stroke=\"black\" d=\"M6174,-68C6174,-68 6098,-68 6098,-68 6092,-68 6086,-62 6086,-56 6086,-56 6086,-12 6086,-12 6086,-6 6092,-0 6098,-0 6098,-0 6174,-0 6174,-0 6180,-0 6186,-6 6186,-12 6186,-12 6186,-56 6186,-56 6186,-62 6180,-68 6174,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"6136\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.0</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6136\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 9</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6136\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 9]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6136\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 89&#45;&gt;91 -->\r\n",
       "<g id=\"edge91\" class=\"edge\"><title>89&#45;&gt;91</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M6056.92,-103.726C6067.73,-94.3318 6079.21,-84.349 6089.99,-74.9883\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"6092.43,-77.501 6097.68,-68.2996 6087.84,-72.2174 6092.43,-77.501\"/>\r\n",
       "</g>\r\n",
       "<!-- 93 -->\r\n",
       "<g id=\"node94\" class=\"node\"><title>93</title>\r\n",
       "<path fill=\"#e99659\" stroke=\"black\" d=\"M6806,-425C6806,-425 6708,-425 6708,-425 6702,-425 6696,-419 6696,-413 6696,-413 6696,-354 6696,-354 6696,-348 6702,-342 6708,-342 6708,-342 6806,-342 6806,-342 6812,-342 6818,-348 6818,-354 6818,-354 6818,-413 6818,-413 6818,-419 6812,-425 6806,-425\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"6757\" y=\"-409.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">age &lt;= 67.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6757\" y=\"-394.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.586</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6757\" y=\"-379.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 547</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6757\" y=\"-364.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [470, 77]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6757\" y=\"-349.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 92&#45;&gt;93 -->\r\n",
       "<g id=\"edge93\" class=\"edge\"><title>92&#45;&gt;93</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M6757,-460.907C6757,-452.649 6757,-443.864 6757,-435.302\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"6760.5,-435.021 6757,-425.021 6753.5,-435.021 6760.5,-435.021\"/>\r\n",
       "</g>\r\n",
       "<!-- 108 -->\r\n",
       "<g id=\"node109\" class=\"node\"><title>108</title>\r\n",
       "<path fill=\"#e68844\" stroke=\"black\" d=\"M7202,-425C7202,-425 7098,-425 7098,-425 7092,-425 7086,-419 7086,-413 7086,-413 7086,-354 7086,-354 7086,-348 7092,-342 7098,-342 7098,-342 7202,-342 7202,-342 7208,-342 7214,-348 7214,-354 7214,-354 7214,-413 7214,-413 7214,-419 7208,-425 7202,-425\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"7150\" y=\"-409.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">c210apvt &lt;= 46.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"7150\" y=\"-394.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.293</text>\r\n",
       "<text text-anchor=\"middle\" x=\"7150\" y=\"-379.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 408</text>\r\n",
       "<text text-anchor=\"middle\" x=\"7150\" y=\"-364.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [387, 21]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"7150\" y=\"-349.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 92&#45;&gt;108 -->\r\n",
       "<g id=\"edge108\" class=\"edge\"><title>92&#45;&gt;108</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M6818.41,-483.219C6888.03,-462.49 7001.52,-428.705 7075.98,-406.537\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"7077.18,-409.832 7085.76,-403.624 7075.18,-403.123 7077.18,-409.832\"/>\r\n",
       "</g>\r\n",
       "<!-- 94 -->\r\n",
       "<g id=\"node95\" class=\"node\"><title>94</title>\r\n",
       "<path fill=\"#eeab7c\" stroke=\"black\" d=\"M6629.5,-306C6629.5,-306 6526.5,-306 6526.5,-306 6520.5,-306 6514.5,-300 6514.5,-294 6514.5,-294 6514.5,-235 6514.5,-235 6514.5,-229 6520.5,-223 6526.5,-223 6526.5,-223 6629.5,-223 6629.5,-223 6635.5,-223 6641.5,-229 6641.5,-235 6641.5,-235 6641.5,-294 6641.5,-294 6641.5,-300 6635.5,-306 6629.5,-306\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"6578\" y=\"-290.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">c210pwc &lt;= 58.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6578\" y=\"-275.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.814</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6578\" y=\"-260.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 147</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6578\" y=\"-245.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [110, 37]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6578\" y=\"-230.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 93&#45;&gt;94 -->\r\n",
       "<g id=\"edge94\" class=\"edge\"><title>93&#45;&gt;94</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M6695.9,-342.562C6680.69,-332.62 6664.26,-321.88 6648.63,-311.665\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"6650.33,-308.594 6640.04,-306.053 6646.5,-314.454 6650.33,-308.594\"/>\r\n",
       "</g>\r\n",
       "<!-- 101 -->\r\n",
       "<g id=\"node102\" class=\"node\"><title>101</title>\r\n",
       "<path fill=\"#e88f4f\" stroke=\"black\" d=\"M6871,-306C6871,-306 6773,-306 6773,-306 6767,-306 6761,-300 6761,-294 6761,-294 6761,-235 6761,-235 6761,-229 6767,-223 6773,-223 6773,-223 6871,-223 6871,-223 6877,-223 6883,-229 6883,-235 6883,-235 6883,-294 6883,-294 6883,-300 6877,-306 6871,-306\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"6822\" y=\"-290.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">pdpe &lt;= 52.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6822\" y=\"-275.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.469</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6822\" y=\"-260.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 400</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6822\" y=\"-245.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [360, 40]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6822\" y=\"-230.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 93&#45;&gt;101 -->\r\n",
       "<g id=\"edge101\" class=\"edge\"><title>93&#45;&gt;101</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M6779.55,-341.907C6784.39,-333.195 6789.56,-323.897 6794.56,-314.893\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"6797.69,-316.462 6799.49,-306.021 6791.57,-313.063 6797.69,-316.462\"/>\r\n",
       "</g>\r\n",
       "<!-- 95 -->\r\n",
       "<g id=\"node96\" class=\"node\"><title>95</title>\r\n",
       "<path fill=\"#f0b489\" stroke=\"black\" d=\"M6428.5,-187C6428.5,-187 6331.5,-187 6331.5,-187 6325.5,-187 6319.5,-181 6319.5,-175 6319.5,-175 6319.5,-116 6319.5,-116 6319.5,-110 6325.5,-104 6331.5,-104 6331.5,-104 6428.5,-104 6428.5,-104 6434.5,-104 6440.5,-110 6440.5,-116 6440.5,-116 6440.5,-175 6440.5,-175 6440.5,-181 6434.5,-187 6428.5,-187\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"6380\" y=\"-171.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">c210ebi &lt;= 23.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6380\" y=\"-156.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.866</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6380\" y=\"-141.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 125</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6380\" y=\"-126.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [89, 36]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6380\" y=\"-111.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 94&#45;&gt;95 -->\r\n",
       "<g id=\"edge95\" class=\"edge\"><title>94&#45;&gt;95</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M6514.26,-225.836C6493.5,-213.565 6470.35,-199.887 6449.2,-187.391\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"6450.98,-184.375 6440.59,-182.301 6447.41,-190.401 6450.98,-184.375\"/>\r\n",
       "</g>\r\n",
       "<!-- 98 -->\r\n",
       "<g id=\"node99\" class=\"node\"><title>98</title>\r\n",
       "<path fill=\"#e68742\" stroke=\"black\" d=\"M6624,-187C6624,-187 6532,-187 6532,-187 6526,-187 6520,-181 6520,-175 6520,-175 6520,-116 6520,-116 6520,-110 6526,-104 6532,-104 6532,-104 6624,-104 6624,-104 6630,-104 6636,-110 6636,-116 6636,-116 6636,-175 6636,-175 6636,-181 6630,-187 6624,-187\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"6578\" y=\"-171.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">BANK &lt;= 0.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6578\" y=\"-156.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.267</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6578\" y=\"-141.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 22</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6578\" y=\"-126.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [21, 1]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6578\" y=\"-111.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 94&#45;&gt;98 -->\r\n",
       "<g id=\"edge98\" class=\"edge\"><title>94&#45;&gt;98</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M6578,-222.907C6578,-214.649 6578,-205.864 6578,-197.302\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"6581.5,-197.021 6578,-187.021 6574.5,-197.021 6581.5,-197.021\"/>\r\n",
       "</g>\r\n",
       "<!-- 96 -->\r\n",
       "<g id=\"node97\" class=\"node\"><title>96</title>\r\n",
       "<path fill=\"#399de5\" stroke=\"black\" d=\"M6292,-68C6292,-68 6216,-68 6216,-68 6210,-68 6204,-62 6204,-56 6204,-56 6204,-12 6204,-12 6204,-6 6210,-0 6216,-0 6216,-0 6292,-0 6292,-0 6298,-0 6304,-6 6304,-12 6304,-12 6304,-56 6304,-56 6304,-62 6298,-68 6292,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"6254\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.0</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6254\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 4</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6254\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 4]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6254\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 95&#45;&gt;96 -->\r\n",
       "<g id=\"edge96\" class=\"edge\"><title>95&#45;&gt;96</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M6333.08,-103.726C6322.27,-94.3318 6310.79,-84.349 6300.01,-74.9883\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"6302.16,-72.2174 6292.32,-68.2996 6297.57,-77.501 6302.16,-72.2174\"/>\r\n",
       "</g>\r\n",
       "<!-- 97 -->\r\n",
       "<g id=\"node98\" class=\"node\"><title>97</title>\r\n",
       "<path fill=\"#eeae80\" stroke=\"black\" d=\"M6426,-68C6426,-68 6334,-68 6334,-68 6328,-68 6322,-62 6322,-56 6322,-56 6322,-12 6322,-12 6322,-6 6328,-0 6334,-0 6334,-0 6426,-0 6426,-0 6432,-0 6438,-6 6438,-12 6438,-12 6438,-56 6438,-56 6438,-62 6432,-68 6426,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"6380\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.833</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6380\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 121</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6380\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [89, 32]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6380\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 95&#45;&gt;97 -->\r\n",
       "<g id=\"edge97\" class=\"edge\"><title>95&#45;&gt;97</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M6380,-103.726C6380,-95.5175 6380,-86.8595 6380,-78.56\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"6383.5,-78.2996 6380,-68.2996 6376.5,-78.2996 6383.5,-78.2996\"/>\r\n",
       "</g>\r\n",
       "<!-- 99 -->\r\n",
       "<g id=\"node100\" class=\"node\"><title>99</title>\r\n",
       "<path fill=\"#e58139\" stroke=\"black\" d=\"M6559.5,-68C6559.5,-68 6468.5,-68 6468.5,-68 6462.5,-68 6456.5,-62 6456.5,-56 6456.5,-56 6456.5,-12 6456.5,-12 6456.5,-6 6462.5,-0 6468.5,-0 6468.5,-0 6559.5,-0 6559.5,-0 6565.5,-0 6571.5,-6 6571.5,-12 6571.5,-12 6571.5,-56 6571.5,-56 6571.5,-62 6565.5,-68 6559.5,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"6514\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.0</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6514\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 21</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6514\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [21, 0]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6514\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 98&#45;&gt;99 -->\r\n",
       "<g id=\"edge99\" class=\"edge\"><title>98&#45;&gt;99</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M6554.17,-103.726C6549.1,-95.0615 6543.75,-85.8962 6538.65,-77.1802\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"6541.53,-75.167 6533.46,-68.2996 6535.49,-78.6992 6541.53,-75.167\"/>\r\n",
       "</g>\r\n",
       "<!-- 100 -->\r\n",
       "<g id=\"node101\" class=\"node\"><title>100</title>\r\n",
       "<path fill=\"#399de5\" stroke=\"black\" d=\"M6678,-68C6678,-68 6602,-68 6602,-68 6596,-68 6590,-62 6590,-56 6590,-56 6590,-12 6590,-12 6590,-6 6596,-0 6602,-0 6602,-0 6678,-0 6678,-0 6684,-0 6690,-6 6690,-12 6690,-12 6690,-56 6690,-56 6690,-62 6684,-68 6678,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"6640\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.0</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6640\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 1</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6640\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 1]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6640\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 98&#45;&gt;100 -->\r\n",
       "<g id=\"edge100\" class=\"edge\"><title>98&#45;&gt;100</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M6601.09,-103.726C6605.99,-95.0615 6611.18,-85.8962 6616.12,-77.1802\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"6619.26,-78.726 6621.15,-68.2996 6613.17,-75.277 6619.26,-78.726\"/>\r\n",
       "</g>\r\n",
       "<!-- 102 -->\r\n",
       "<g id=\"node103\" class=\"node\"><title>102</title>\r\n",
       "<path fill=\"#e78d4b\" stroke=\"black\" d=\"M6874,-187C6874,-187 6770,-187 6770,-187 6764,-187 6758,-181 6758,-175 6758,-175 6758,-116 6758,-116 6758,-110 6764,-104 6770,-104 6770,-104 6874,-104 6874,-104 6880,-104 6886,-110 6886,-116 6886,-116 6886,-175 6886,-175 6886,-181 6880,-187 6874,-187\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"6822\" y=\"-171.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">c210mah &lt;= 75.0</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6822\" y=\"-156.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.421</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6822\" y=\"-141.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 375</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6822\" y=\"-126.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [343, 32]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6822\" y=\"-111.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 101&#45;&gt;102 -->\r\n",
       "<g id=\"edge102\" class=\"edge\"><title>101&#45;&gt;102</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M6822,-222.907C6822,-214.649 6822,-205.864 6822,-197.302\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"6825.5,-197.021 6822,-187.021 6818.5,-197.021 6825.5,-197.021\"/>\r\n",
       "</g>\r\n",
       "<!-- 105 -->\r\n",
       "<g id=\"node106\" class=\"node\"><title>105</title>\r\n",
       "<path fill=\"#f1bc96\" stroke=\"black\" d=\"M7079,-187C7079,-187 6969,-187 6969,-187 6963,-187 6957,-181 6957,-175 6957,-175 6957,-116 6957,-116 6957,-110 6963,-104 6969,-104 6969,-104 7079,-104 7079,-104 7085,-104 7091,-110 7091,-116 7091,-116 7091,-175 7091,-175 7091,-181 7085,-187 7079,-187\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"7024\" y=\"-171.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">c210b200 &lt;= 20.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"7024\" y=\"-156.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.904</text>\r\n",
       "<text text-anchor=\"middle\" x=\"7024\" y=\"-141.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 25</text>\r\n",
       "<text text-anchor=\"middle\" x=\"7024\" y=\"-126.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [17, 8]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"7024\" y=\"-111.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 101&#45;&gt;105 -->\r\n",
       "<g id=\"edge105\" class=\"edge\"><title>101&#45;&gt;105</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M6883.15,-228.079C6903.57,-216.256 6926.56,-202.936 6947.97,-190.539\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"6949.81,-193.515 6956.71,-185.475 6946.3,-187.458 6949.81,-193.515\"/>\r\n",
       "</g>\r\n",
       "<!-- 103 -->\r\n",
       "<g id=\"node104\" class=\"node\"><title>103</title>\r\n",
       "<path fill=\"#e78c4a\" stroke=\"black\" d=\"M6818,-68C6818,-68 6720,-68 6720,-68 6714,-68 6708,-62 6708,-56 6708,-56 6708,-12 6708,-12 6708,-6 6714,-0 6720,-0 6720,-0 6818,-0 6818,-0 6824,-0 6830,-6 6830,-12 6830,-12 6830,-56 6830,-56 6830,-62 6824,-68 6818,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"6769\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.404</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6769\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 373</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6769\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [343, 30]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6769\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 102&#45;&gt;103 -->\r\n",
       "<g id=\"edge103\" class=\"edge\"><title>102&#45;&gt;103</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M6802.26,-103.726C6798.11,-95.1527 6793.73,-86.0891 6789.55,-77.4555\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"6792.62,-75.7758 6785.12,-68.2996 6786.32,-78.8255 6792.62,-75.7758\"/>\r\n",
       "</g>\r\n",
       "<!-- 104 -->\r\n",
       "<g id=\"node105\" class=\"node\"><title>104</title>\r\n",
       "<path fill=\"#399de5\" stroke=\"black\" d=\"M6936,-68C6936,-68 6860,-68 6860,-68 6854,-68 6848,-62 6848,-56 6848,-56 6848,-12 6848,-12 6848,-6 6854,-0 6860,-0 6860,-0 6936,-0 6936,-0 6942,-0 6948,-6 6948,-12 6948,-12 6948,-56 6948,-56 6948,-62 6942,-68 6936,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"6898\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.0</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6898\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 2</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6898\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 2]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"6898\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 102&#45;&gt;104 -->\r\n",
       "<g id=\"edge104\" class=\"edge\"><title>102&#45;&gt;104</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M6850.3,-103.726C6856.44,-94.879 6862.94,-85.51 6869.11,-76.6303\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"6872.06,-78.5104 6874.89,-68.2996 6866.31,-74.5191 6872.06,-78.5104\"/>\r\n",
       "</g>\r\n",
       "<!-- 106 -->\r\n",
       "<g id=\"node107\" class=\"node\"><title>106</title>\r\n",
       "<path fill=\"#fcf1e9\" stroke=\"black\" d=\"M7070,-68C7070,-68 6978,-68 6978,-68 6972,-68 6966,-62 6966,-56 6966,-56 6966,-12 6966,-12 6966,-6 6972,-0 6978,-0 6978,-0 7070,-0 7070,-0 7076,-0 7082,-6 7082,-12 7082,-12 7082,-56 7082,-56 7082,-62 7076,-68 7070,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"7024\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.998</text>\r\n",
       "<text text-anchor=\"middle\" x=\"7024\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 17</text>\r\n",
       "<text text-anchor=\"middle\" x=\"7024\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [9, 8]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"7024\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 105&#45;&gt;106 -->\r\n",
       "<g id=\"edge106\" class=\"edge\"><title>105&#45;&gt;106</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M7024,-103.726C7024,-95.5175 7024,-86.8595 7024,-78.56\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"7027.5,-78.2996 7024,-68.2996 7020.5,-78.2996 7027.5,-78.2996\"/>\r\n",
       "</g>\r\n",
       "<!-- 107 -->\r\n",
       "<g id=\"node108\" class=\"node\"><title>107</title>\r\n",
       "<path fill=\"#e58139\" stroke=\"black\" d=\"M7203.5,-68C7203.5,-68 7112.5,-68 7112.5,-68 7106.5,-68 7100.5,-62 7100.5,-56 7100.5,-56 7100.5,-12 7100.5,-12 7100.5,-6 7106.5,-0 7112.5,-0 7112.5,-0 7203.5,-0 7203.5,-0 7209.5,-0 7215.5,-6 7215.5,-12 7215.5,-12 7215.5,-56 7215.5,-56 7215.5,-62 7209.5,-68 7203.5,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"7158\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.0</text>\r\n",
       "<text text-anchor=\"middle\" x=\"7158\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 8</text>\r\n",
       "<text text-anchor=\"middle\" x=\"7158\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [8, 0]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"7158\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 105&#45;&gt;107 -->\r\n",
       "<g id=\"edge107\" class=\"edge\"><title>105&#45;&gt;107</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M7073.9,-103.726C7085.5,-94.2406 7097.85,-84.1551 7109.4,-74.7159\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"7111.72,-77.3375 7117.25,-68.2996 7107.29,-71.9171 7111.72,-77.3375\"/>\r\n",
       "</g>\r\n",
       "<!-- 109 -->\r\n",
       "<g id=\"node110\" class=\"node\"><title>109</title>\r\n",
       "<path fill=\"#399de5\" stroke=\"black\" d=\"M7188,-298.5C7188,-298.5 7112,-298.5 7112,-298.5 7106,-298.5 7100,-292.5 7100,-286.5 7100,-286.5 7100,-242.5 7100,-242.5 7100,-236.5 7106,-230.5 7112,-230.5 7112,-230.5 7188,-230.5 7188,-230.5 7194,-230.5 7200,-236.5 7200,-242.5 7200,-242.5 7200,-286.5 7200,-286.5 7200,-292.5 7194,-298.5 7188,-298.5\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"7150\" y=\"-283.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.0</text>\r\n",
       "<text text-anchor=\"middle\" x=\"7150\" y=\"-268.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 2</text>\r\n",
       "<text text-anchor=\"middle\" x=\"7150\" y=\"-253.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [0, 2]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"7150\" y=\"-238.3\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 108&#45;&gt;109 -->\r\n",
       "<g id=\"edge109\" class=\"edge\"><title>108&#45;&gt;109</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M7150,-341.907C7150,-331.204 7150,-319.615 7150,-308.776\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"7153.5,-308.667 7150,-298.667 7146.5,-308.667 7153.5,-308.667\"/>\r\n",
       "</g>\r\n",
       "<!-- 110 -->\r\n",
       "<g id=\"node111\" class=\"node\"><title>110</title>\r\n",
       "<path fill=\"#e68743\" stroke=\"black\" d=\"M7409,-306C7409,-306 7311,-306 7311,-306 7305,-306 7299,-300 7299,-294 7299,-294 7299,-235 7299,-235 7299,-229 7305,-223 7311,-223 7311,-223 7409,-223 7409,-223 7415,-223 7421,-229 7421,-235 7421,-235 7421,-294 7421,-294 7421,-300 7415,-306 7409,-306\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"7360\" y=\"-290.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">c210wht &lt;= 85.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"7360\" y=\"-275.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.273</text>\r\n",
       "<text text-anchor=\"middle\" x=\"7360\" y=\"-260.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 406</text>\r\n",
       "<text text-anchor=\"middle\" x=\"7360\" y=\"-245.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [387, 19]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"7360\" y=\"-230.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 108&#45;&gt;110 -->\r\n",
       "<g id=\"edge110\" class=\"edge\"><title>108&#45;&gt;110</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M7214.15,-346.76C7238.1,-333.413 7265.42,-318.194 7289.89,-304.563\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"7291.73,-307.543 7298.76,-299.619 7288.32,-301.428 7291.73,-307.543\"/>\r\n",
       "</g>\r\n",
       "<!-- 111 -->\r\n",
       "<g id=\"node112\" class=\"node\"><title>111</title>\r\n",
       "<path fill=\"#e68641\" stroke=\"black\" d=\"M7412,-187C7412,-187 7308,-187 7308,-187 7302,-187 7296,-181 7296,-175 7296,-175 7296,-116 7296,-116 7296,-110 7302,-104 7308,-104 7308,-104 7412,-104 7412,-104 7418,-104 7424,-110 7424,-116 7424,-116 7424,-175 7424,-175 7424,-181 7418,-187 7412,-187\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"7360\" y=\"-171.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">c210apvt &lt;= 96.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"7360\" y=\"-156.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.237</text>\r\n",
       "<text text-anchor=\"middle\" x=\"7360\" y=\"-141.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 386</text>\r\n",
       "<text text-anchor=\"middle\" x=\"7360\" y=\"-126.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [371, 15]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"7360\" y=\"-111.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 110&#45;&gt;111 -->\r\n",
       "<g id=\"edge111\" class=\"edge\"><title>110&#45;&gt;111</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M7360,-222.907C7360,-214.649 7360,-205.864 7360,-197.302\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"7363.5,-197.021 7360,-187.021 7356.5,-197.021 7363.5,-197.021\"/>\r\n",
       "</g>\r\n",
       "<!-- 114 -->\r\n",
       "<g id=\"node115\" class=\"node\"><title>114</title>\r\n",
       "<path fill=\"#eca06a\" stroke=\"black\" d=\"M7611,-187C7611,-187 7519,-187 7519,-187 7513,-187 7507,-181 7507,-175 7507,-175 7507,-116 7507,-116 7507,-110 7513,-104 7519,-104 7519,-104 7611,-104 7611,-104 7617,-104 7623,-110 7623,-116 7623,-116 7623,-175 7623,-175 7623,-181 7617,-187 7611,-187\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"7565\" y=\"-171.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">zhip19 &lt;= 4.5</text>\r\n",
       "<text text-anchor=\"middle\" x=\"7565\" y=\"-156.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.722</text>\r\n",
       "<text text-anchor=\"middle\" x=\"7565\" y=\"-141.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 20</text>\r\n",
       "<text text-anchor=\"middle\" x=\"7565\" y=\"-126.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [16, 4]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"7565\" y=\"-111.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 110&#45;&gt;114 -->\r\n",
       "<g id=\"edge114\" class=\"edge\"><title>110&#45;&gt;114</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M7421.23,-228.555C7445.4,-214.761 7473.24,-198.871 7497.95,-184.769\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"7499.95,-187.658 7506.9,-179.661 7496.48,-181.579 7499.95,-187.658\"/>\r\n",
       "</g>\r\n",
       "<!-- 112 -->\r\n",
       "<g id=\"node113\" class=\"node\"><title>112</title>\r\n",
       "<path fill=\"#e68742\" stroke=\"black\" d=\"M7344,-68C7344,-68 7246,-68 7246,-68 7240,-68 7234,-62 7234,-56 7234,-56 7234,-12 7234,-12 7234,-6 7240,-0 7246,-0 7246,-0 7344,-0 7344,-0 7350,-0 7356,-6 7356,-12 7356,-12 7356,-56 7356,-56 7356,-62 7350,-68 7344,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"7295\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.268</text>\r\n",
       "<text text-anchor=\"middle\" x=\"7295\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 328</text>\r\n",
       "<text text-anchor=\"middle\" x=\"7295\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [313, 15]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"7295\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 111&#45;&gt;112 -->\r\n",
       "<g id=\"edge112\" class=\"edge\"><title>111&#45;&gt;112</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M7335.8,-103.726C7330.6,-94.9703 7325.1,-85.7032 7319.88,-76.9051\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"7322.88,-75.1121 7314.77,-68.2996 7316.86,-78.6853 7322.88,-75.1121\"/>\r\n",
       "</g>\r\n",
       "<!-- 113 -->\r\n",
       "<g id=\"node114\" class=\"node\"><title>113</title>\r\n",
       "<path fill=\"#e58139\" stroke=\"black\" d=\"M7477.5,-68C7477.5,-68 7386.5,-68 7386.5,-68 7380.5,-68 7374.5,-62 7374.5,-56 7374.5,-56 7374.5,-12 7374.5,-12 7374.5,-6 7380.5,-0 7386.5,-0 7386.5,-0 7477.5,-0 7477.5,-0 7483.5,-0 7489.5,-6 7489.5,-12 7489.5,-12 7489.5,-56 7489.5,-56 7489.5,-62 7483.5,-68 7477.5,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"7432\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.0</text>\r\n",
       "<text text-anchor=\"middle\" x=\"7432\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 58</text>\r\n",
       "<text text-anchor=\"middle\" x=\"7432\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [58, 0]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"7432\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 111&#45;&gt;113 -->\r\n",
       "<g id=\"edge113\" class=\"edge\"><title>111&#45;&gt;113</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M7386.81,-103.726C7392.57,-94.9703 7398.66,-85.7032 7404.45,-76.9051\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"7407.53,-78.5781 7410.1,-68.2996 7401.69,-74.7322 7407.53,-78.5781\"/>\r\n",
       "</g>\r\n",
       "<!-- 115 -->\r\n",
       "<g id=\"node116\" class=\"node\"><title>115</title>\r\n",
       "<path fill=\"#f1b991\" stroke=\"black\" d=\"M7610.5,-68C7610.5,-68 7519.5,-68 7519.5,-68 7513.5,-68 7507.5,-62 7507.5,-56 7507.5,-56 7507.5,-12 7507.5,-12 7507.5,-6 7513.5,-0 7519.5,-0 7519.5,-0 7610.5,-0 7610.5,-0 7616.5,-0 7622.5,-6 7622.5,-12 7622.5,-12 7622.5,-56 7622.5,-56 7622.5,-62 7616.5,-68 7610.5,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"7565\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.89</text>\r\n",
       "<text text-anchor=\"middle\" x=\"7565\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 13</text>\r\n",
       "<text text-anchor=\"middle\" x=\"7565\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [9, 4]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"7565\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 114&#45;&gt;115 -->\r\n",
       "<g id=\"edge115\" class=\"edge\"><title>114&#45;&gt;115</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M7565,-103.726C7565,-95.5175 7565,-86.8595 7565,-78.56\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"7568.5,-78.2996 7565,-68.2996 7561.5,-78.2996 7568.5,-78.2996\"/>\r\n",
       "</g>\r\n",
       "<!-- 116 -->\r\n",
       "<g id=\"node117\" class=\"node\"><title>116</title>\r\n",
       "<path fill=\"#e58139\" stroke=\"black\" d=\"M7743.5,-68C7743.5,-68 7652.5,-68 7652.5,-68 7646.5,-68 7640.5,-62 7640.5,-56 7640.5,-56 7640.5,-12 7640.5,-12 7640.5,-6 7646.5,-0 7652.5,-0 7652.5,-0 7743.5,-0 7743.5,-0 7749.5,-0 7755.5,-6 7755.5,-12 7755.5,-12 7755.5,-56 7755.5,-56 7755.5,-62 7749.5,-68 7743.5,-68\"/>\r\n",
       "<text text-anchor=\"middle\" x=\"7698\" y=\"-52.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">entropy = 0.0</text>\r\n",
       "<text text-anchor=\"middle\" x=\"7698\" y=\"-37.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">samples = 7</text>\r\n",
       "<text text-anchor=\"middle\" x=\"7698\" y=\"-22.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">value = [7, 0]</text>\r\n",
       "<text text-anchor=\"middle\" x=\"7698\" y=\"-7.8\" font-family=\"Helvetica,sans-Serif\" font-size=\"14.00\">class = Not Buy</text>\r\n",
       "</g>\r\n",
       "<!-- 114&#45;&gt;116 -->\r\n",
       "<g id=\"edge116\" class=\"edge\"><title>114&#45;&gt;116</title>\r\n",
       "<path fill=\"none\" stroke=\"black\" d=\"M7614.52,-103.726C7626.05,-94.2406 7638.3,-84.1551 7649.76,-74.7159\"/>\r\n",
       "<polygon fill=\"black\" stroke=\"black\" points=\"7652.06,-77.3577 7657.55,-68.2996 7647.61,-71.9536 7652.06,-77.3577\"/>\r\n",
       "</g>\r\n",
       "</g>\r\n",
       "</svg>\r\n"
      ],
      "text/plain": [
       "<graphviz.files.Source at 0x29d9ee80668>"
      ]
     },
     "execution_count": 116,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#最优参数\n",
    "#{'criterion': 'entropy', 'max_depth': 6, 'splitter': 'best'}\n",
    "from sklearn.tree import DecisionTreeClassifier\n",
    "from sklearn import tree\n",
    "\n",
    "import graphviz\n",
    "\n",
    "#将最优参数放到分类器\n",
    "clf = DecisionTreeClassifier(criterion='entropy',max_depth=6,splitter='best')\n",
    "clf = clf.fit(Xtrain_05,Ytrain)\n",
    "\n",
    "\n",
    "features = Xtrain_05.columns\n",
    "dot_data = tree.export_graphviz(clf,\n",
    "                     feature_names=features,\n",
    "                     class_names=['Not Buy','Buy'],\n",
    "                     filled=True,\n",
    "                     rounded=True,\n",
    "                     leaves_parallel=False)\n",
    "\n",
    "graph= graphviz.Source(dot_data)\n",
    "\n",
    "graph"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 117,
   "id": "designing-isaac",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'tree.pdf'"
      ]
     },
     "execution_count": 117,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "graph.render('tree')\n",
    "#但这结果是个中文乱码。另一种办法：从网页里找该图上面所属的div复制到txt文件中保存，后缀改为html。then，打开即可看到图片。"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "headed-elder",
   "metadata": {},
   "source": [
    "## 结果解读"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "disciplinary-implement",
   "metadata": {},
   "source": [
    "我们来看一下购买比例最高的两类客户的特征是什么？    \n",
    "第一类    \n",
    "<span class=\"girk\">处于医疗险覆盖率比例较低区域    \n",
    "居住年限小于7年    \n",
    "65-72岁群体    \n",
    "那么我们对业务人员进行建议的时候就是，建议他们在医疗险覆盖率比例较低的区域进行宣传推广，然后重点关注那些刚到该区域且年龄65岁以上的老人，向这些人群进行保险营销，成功率应该会更高。</span></span>    \n",
    "第二类    \n",
    "<span class=\"mark\">处于医疗险覆盖率比例较低区域    \n",
    "居住年限大于7年    \n",
    "居住房屋价值较高    \n",
    "这一类人群，是区域内常住的高端小区的用户。这些人群也同样是我们需要重点进行保险营销的对象。</span>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "retained-saudi",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.3"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {
    "height": "479.556px",
    "left": "43px",
    "top": "109.778px",
    "width": "303.875px"
   },
   "toc_section_display": true,
   "toc_window_display": true
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
